亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python -m參數原理及使用方法解析

瀏覽:4日期:2022-07-13 13:42:54

python -m xxx.py

作用是:把xxx.py文件當做模塊啟動

但是我一直不明白當做模塊啟動到底有什么用。python xxx.py和python -m xxx.py有什么區別!

自問自答:

python xxx.pypython -m xxx.py

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

1叫做直接運行

2把模塊當作腳本來啟動(注意:但是__name__的值為’main’ )

不同的加載py文件的方式,主要是影響——sys.path 這個屬性。sys.path 就相當于liunx中的PATH。下面來看一下sys.path

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

上面的內容我只截取了一段。此為當前python解釋器運行的環境,python解釋器會在這些目錄下去尋找依賴的庫!注解一點:‘’——為當前目錄

下面有兩個例子,通過不同方式啟動同一文件,sys.path屬性的值有何不同。

# run.py 內容如下import sysprint(sys.path)# 直接啟動:python run.pytest_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’, ...]# 以模塊方式啟動:python -m run.pytest_import_project git:(master) ✗ python -m run.py[’’, ’/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip’,

*** 細心的同學會發現,區別就是在第一行。

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

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

在工作場景中有什么用呢?

# 目錄結構如下package/__init__.pymod1.pypackage2/__init__.pyrun.py

# run.py 內容如下import sysfrom package import mod1print(sys.path)

如何才能啟動run.py文件?

# 直接啟動(失?。?#10140; test_import_project git:(master) ✗ python package2/run.pyTraceback (most recent call last): File 'package2/run.py', line 2, in <module> from package import mod1ImportError: No module named package# 以模塊方式啟動(成功)➜ 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’,...]

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

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

導入一個叫 mod1 的模塊時,解釋器先在當前目錄中搜索名為 mod1.py 的文件。如果沒有找到的話,接著會到 sys.path 變量中給出的目錄列表中查找。 sys.path 變量的初始值來自如下:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 日韩亚洲人成在线综合日本 | 欧美性v视频播放 | 亚洲巨乳自拍在线视频 | 6080yy午夜不卡一二三区久久 | a级国产乱理片在线观看 | 看片免费黄| 日韩欧美中文字幕出 | 国产一二三区视频 | 精品亚洲一区二区三区在线播放 | 成人性开放大片 | xxx国产hd| 免费观看国产 | 亚洲图片校园春色 | 亚洲精品国产精品乱码不97 | 黄色大片黄色大片 | 国产成人亚洲精品大帝 | 欧美黄色大片在线观看 | 免费看大片的 | 在浴室边摸边吃奶边做视频 | 久久欧美精品欧美九久欧美 | 成人三级做爰在线观看男女 | 精品欧美一区二区三区四区 | 国产久视频观看 | 一区二区高清在线观看 | 国产美女视频黄a视频免费全过程 | 韩国一级黄色 | 222www免费观看 | 性色视频免费 | 色性综合 | 成人免费在线观看网站 | 中文字字幕码一二三区 | 久久精品国产福利国产琪琪 | 热久久国产欧美一区二区精品 | 97视频总站 | 国产午夜高清一区二区不卡 | 欧美视频国产 | 五月丁六月停停 | 美女白丝超短裙被输出动态图 | www.你懂的.com| 免费一级a毛片在线播放视 免费一级a毛片免费观看欧美大片 | 搜索毛片 |