[python]自問自答:python -m引數? ( python3.7 版本 )
阿新 • • 發佈:2019-01-07
最近在看Python程式碼的時候看到了一種形式, 即 python -m 這種形式, 查了一些部落格,發現了一篇寫的還不錯,轉載了過來,不過那裡面寫的是Python2.7的環境和python3還是有些區別的,下面給出Python2.7形式的如下:
https://www.cnblogs.com/devilmaycry812839668/p/10230459.html
下面說下pyhon3裡面的一些探索:
# 目錄結構如下 test/ __init__.py x.py subpackage/ __init__.py y.py
# x.py 內容如下
import sys print("This is x file") print(sys.path) print("\n"*3) from subpackage import y
# y.py 內容如下
import sys print("This is y file") print(sys.path)
執行程式碼:
從上面兩個圖可以看到 直接執行程式碼, 即執行 x.py 程式最終的當前目錄一直為 x.py所在的目錄,
不論你是在哪個目錄裡面指定執行 x.py 程式碼的, 最終的當前目錄都為 /home/devil/test 。
下面看下 以模組形式執行 x.py (模組形式執行 x.py 是指執行模組 x , 所以不用寫 .py )
可以看到 執行模組和直接執行還是有區別的, 那就是 執行模組的話( python -m )當前目錄為你呼叫執行的目錄,
如:
在 /home/devil/test 目錄下執行python -m x 時, 當前目錄為 /home/devil/test
在 /home/devil 目錄下執行python -m test.x 時, 當前目錄為 /home/devil
==============================================================