1. 程式人生 > >[python]自問自答:python -m引數? ( python3.7 版本 )

[python]自問自答:python -m引數? ( python3.7 版本 )

最近在看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






==============================================================