最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python -m參數(shù)原理及使用方法解析

 更新時(shí)間:2020年08月21日 08:28:26   作者:削微寒  
這篇文章主要介紹了Python -m參數(shù)原理及使用方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

python -m xxx.py

作用是:把xxx.py文件當(dāng)做模塊啟動(dòng)

但是我一直不明白當(dāng)做模塊啟動(dòng)到底有什么用。python xxx.py和python -m xxx.py有什么區(qū)別!

自問(wèn)自答:

python xxx.py
python -m xxx.py

這是兩種加載py文件的方式:

1叫做直接運(yùn)行

2把模塊當(dāng)作腳本來(lái)啟動(dòng)(注意:但是__name__的值為'main' )

不同的加載py文件的方式,主要是影響——sys.path 這個(gè)屬性。sys.path 就相當(dāng)于liunx中的PATH。
下面來(lái)看一下sys.path

>>> import sys
>>> sys.path
['', '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
...]

上面的內(nèi)容我只截取了一段。此為當(dāng)前python解釋器運(yùn)行的環(huán)境,python解釋器會(huì)在這些目錄下去尋找依賴的庫(kù)!
注解一點(diǎn):‘'——為當(dāng)前目錄

下面有兩個(gè)例子,通過(guò)不同方式啟動(dòng)同一文件,sys.path屬性的值有何不同。

# run.py 內(nèi)容如下
import sys
print(sys.path)


# 直接啟動(dòng):python run.py
test_import_project git:(master) ✗ python run.py
['/Users/sx/Documents/note/test_py/test_import_project', 
 '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
 ...]
# 以模塊方式啟動(dòng):python -m run.py
test_import_project git:(master) ✗ python -m run.py
['', 
 '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',

*** 細(xì)心的同學(xué)會(huì)發(fā)現(xiàn),區(qū)別就是在第一行。

直接啟動(dòng)是把run.py文件,所在的目錄放到了sys.path屬性中。

模塊啟動(dòng)是把你輸入命令的目錄(也就是當(dāng)前路徑),放到了sys.path屬性中***

在工作場(chǎng)景中有什么用呢?

# 目錄結(jié)構(gòu)如下
package/
	__init__.py
	mod1.py
package2/
	__init__.py
	run.py 
# run.py 內(nèi)容如下
import sys
from package import mod1
print(sys.path)

如何才能啟動(dòng)run.py文件?

# 直接啟動(dòng)(失?。?
➜ test_import_project git:(master) ✗ python package2/run.py
Traceback (most recent call last):
 File "package2/run.py", line 2, in <module>
  from package import mod1
ImportError: No module named package

# 以模塊方式啟動(dòng)(成功)
➜ test_import_project git:(master) ✗ python -m package2.run
['',
'/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
...]

當(dāng)需要啟動(dòng)的py文件引用了一個(gè)模塊。你需要注意:在啟動(dòng)的時(shí)候需要考慮sys.path中有沒(méi)有你import的模塊的路徑!
這個(gè)時(shí)候,到底是使用直接啟動(dòng),還是以模塊的啟動(dòng)?目的就是把import的那個(gè)模塊的路徑放到sys.path中。你是不是明白了呢?

官方文檔參考:  http://www.pythondoc.com/pythontutorial3/modules.html

導(dǎo)入一個(gè)叫 mod1 的模塊時(shí),解釋器先在當(dāng)前目錄中搜索名為 mod1.py 的文件。如果沒(méi)有找到的話,接著會(huì)到 sys.path 變量中給出的目錄列表中查找。 sys.path 變量的初始值來(lái)自如下:

  • 輸入腳本的目錄(當(dāng)前目錄)。
  • 環(huán)境變量 PYTHONPATH 表示的目錄列表中搜索(這和 shell 變量 PATH 具有一樣的語(yǔ)法,即一系列目錄名的列表)。
  • Python 默認(rèn)安裝路徑中搜索。
  • 實(shí)際上,解釋器由 sys.path 變量指定的路徑目錄搜索模塊,該變量初始化時(shí)默認(rèn)包含了輸入腳本(或者當(dāng)前目錄), PYTHONPATH 和安裝目錄。這樣就允許 Python程序了解如何修改或替換模塊搜索目錄。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • OpenCV繪制圓端矩形的示例代碼

    OpenCV繪制圓端矩形的示例代碼

    本文主要介紹了OpenCV繪制圓端矩形的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 利用Python的folium包繪制城市道路圖的實(shí)現(xiàn)示例

    利用Python的folium包繪制城市道路圖的實(shí)現(xiàn)示例

    這篇文章主要介紹了利用Python的folium包繪制城市道路圖的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python fileinput模塊使用實(shí)例

    Python fileinput模塊使用實(shí)例

    這篇文章主要介紹了Python fileinput模塊使用實(shí)例,fileinput模塊可以遍歷文本文件的所有行,本文就給出它的使用代碼實(shí)例,需要的朋友可以參考下
    2015-05-05
  • Python記錄詳細(xì)調(diào)用堆棧日志的方法

    Python記錄詳細(xì)調(diào)用堆棧日志的方法

    這篇文章主要介紹了Python記錄詳細(xì)調(diào)用堆棧日志的方法,涉及Python調(diào)用堆棧日志的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Python?torch.fft.rfft()函數(shù)用法示例代碼

    Python?torch.fft.rfft()函數(shù)用法示例代碼

    大家應(yīng)該都知道新舊版的torch中的傅里葉變換函數(shù)在定義和用法上有所不同,下面這篇文章主要給大家介紹了關(guān)于Python?torch.fft.rfft()函數(shù)用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • python3實(shí)現(xiàn)逐字輸出的方法

    python3實(shí)現(xiàn)逐字輸出的方法

    今天小編就為大家分享一篇python3實(shí)現(xiàn)逐字輸出的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python如何實(shí)現(xiàn)遞歸轉(zhuǎn)非遞歸

    python如何實(shí)現(xiàn)遞歸轉(zhuǎn)非遞歸

    這篇文章主要介紹了python如何實(shí)現(xiàn)遞歸轉(zhuǎn)非遞歸,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • 使用python代碼進(jìn)行身份證號(hào)校驗(yàn)的實(shí)現(xiàn)示例

    使用python代碼進(jìn)行身份證號(hào)校驗(yàn)的實(shí)現(xiàn)示例

    這篇文章主要介紹了使用python代碼進(jìn)行身份證號(hào)校驗(yàn)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 分享一個(gè)pycharm專業(yè)版安裝的永久使用方法

    分享一個(gè)pycharm專業(yè)版安裝的永久使用方法

    這篇文章主要介紹了分享一個(gè)pycharm專業(yè)版安裝的永久使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • WIndows10系統(tǒng)下面安裝Anaconda、Pycharm及Pytorch環(huán)境全過(guò)程(NVIDIA?GPU版本)

    WIndows10系統(tǒng)下面安裝Anaconda、Pycharm及Pytorch環(huán)境全過(guò)程(NVIDIA?GPU版本)

    這篇文章主要給大家介紹了關(guān)于WIndows10系統(tǒng)下面安裝Anaconda、Pycharm及Pytorch環(huán)境(NVIDIA?GPU版本)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02

最新評(píng)論

文水县| 赤水市| 九龙城区| 泽普县| 平湖市| 台湾省| 仁寿县| 阿拉尔市| 寿光市| 澎湖县| 龙岩市| 兴城市| 泗洪县| 酒泉市| 长乐市| 雅安市| 甘谷县| 南开区| 呼伦贝尔市| 汪清县| 河曲县| 博客| 嘉义市| 泸水县| 永福县| 新余市| 曲周县| 崇信县| 潮安县| 句容市| 泽普县| 宾阳县| 桦甸市| 六枝特区| 确山县| 准格尔旗| 三原县| 邛崃市| 伊金霍洛旗| 梧州市| 安新县|