簡體   English   中英

如何在與另一個python文件不同的目錄中運行python文件?

[英]How do I run a python file in a different directory from another python file?

在我的python程序過程中,我生成了以下字符串

“d:\\ something_else.py”

可以說D中還有其他資源:something_else.py需要。

我該如何從我的代碼中運行something_else.py,這可以說是從C:\\ Users \\ Someone \\ Desktop運行?

現在,我正在使用以下內容:

from subprocess import call 
call(["python",pythloc])

這給我一個錯誤,因為它只能找到something_else.py,而無法找到something_else.py需要的其他資源,這些資源與something_else.py處於同一文件夾中

除了需要小心使用“ \\”而不是:

   locationDir="D:\something_else.py"

在您的字符串前加上r:

   locationDir=r"D:\something_else.py"

您只需設置PYTHONPATH環境變量即可指向其他模塊所在的目錄。

有關其他信息,請參見此處:

https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH

如果您可以將提到的文件夾作為項目本身的一部分,則可以將其變成python包,只需在名為__init__.py的文件夾中添加一個空文件即可

如果它在其他路徑(例如“ D:\\ some_directory \\”)上,該路徑具有something_else.py以及其他依賴項,請與導入語句一起執行此操作:

sys.path.append(r"D:\some_directory\")
from something_else import some_useful_function, some_useful_class

它將提到的目錄添加到您的sys.path ,然后您可以從保存在其中的python文件中導入任何內容,然后像往常一樣調用函數。

如果您使用的是任何類似PyCharm的IDE,作為導入檢查的一部分,它仍可能顯示第二行unresolved errors 但是代碼在您運行時將可以正常運行。

當您只需導入和調用函數,並具有更好的控制和錯誤檢查功能時,從其他人( python something.py )調用python腳本幾乎從來不是一個好主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM