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