2017-07-30 36 views
0

當我打電話當我使用python3.5 my_script.py時,Python在哪裏查找my_script.py?

python3.5 my_script.py 

哪裏Python的查找my_script.py?只是在當前的工作目錄中,或者是否存在與PYTHONPATHimportPATH類似的機制,如果我使用shebang行的腳本?

(之前你認爲這是一個重複的問題:到目前爲止,在計算器上的問題和答案,不考慮所提到的情況下)

+0

在你所在的目錄中... – EvgenyKolyakov

回答

1

調用Python可執行程序直接與python <something>,沒有任何其他的命令行參數,將使Python可執行文件嘗試運行文件<something>。所以它會將此事解釋爲一條路徑並嘗試找到它。

所以如果你只是寫python my_script.py,它會在當前目錄中查找。如果你寫python ../my_script.py它會在父目錄中查找。如果你寫python /home/foo/my_script.py它會在foo的主目錄中查找。

與任何命令,這是一個好主意,看看它的manpage得到它是如何工作的想法:

當用文件名參數或以文件做爲標準輸入來調用它讀取並從該文件執行腳本

0

提供給python3.5的參數是path。在這裏,它不與/開頭,所以它是一個相對路徑,相當於./script

Python會不會嘗試解析path到其他地點,原因有二:

  1. 這是不常見的做所以

  2. 它避免錯誤和安全問題

0

Python會看在來自您的相同目錄啓動了該命令。如果該文件不存在,python會引發錯誤。

相關問題