簡體   English   中英

在其他目錄中運行腳本時將本地文件添加到python搜索路徑

[英]Adding local file to python search path when running a script in a different directory

我編寫了一個python腳本“ Script.py”,當將其復制到要在其中運行的目錄中時可以使用。我經常運行此腳本,因此我想將其添加到.bashrc中,因此不必復制將其放入我需要在其中運行的每個目錄中。

因此,腳本位於目錄中:

/home/pythonscripts/Script.py

現在,我想在目錄中運行此腳本:

/home/Documents/Test1/

腳本的一部分是導入一個不同的文件(這對於每個測試用例都是唯一的)。 該文件的位置是:

/home/Documents/Test1/equations.py

如果我從“ Test1”目錄啟動並運行“ Script.py”,則會出現以下錯誤:

 File "/home/python/Script.py", line 115, in <module>
     import equations
 ImportError: No module named 'equations'

如果我將腳本放入要從(/ home / Documents / Test1 /)運行此腳本的目錄中,則不會出現錯誤。 我想的是,腳本正在“ / home / python”目錄中查找equations.py文件,而不是我從中運行腳本的本地文件。

我的問題是如何告訴腳本以一般方式在本地目錄中查找Equations.py文件,以便可以從任何目錄運行Script.py並使其知道要在其中運行的方程式的.py?

獲取當前的工作目錄(運行腳本時所在的目錄)

import os
cwd = os.getcwd()

現在您可以使用importlib(在python 3中)使用完整路徑cwd/myfile.py導入文件。 有關更多信息,請參見如何在給定完整路徑的情況下導入模塊?

附帶說明,在處理文件和文件系統時,我個人真的很喜歡使用此程序包: https : //github.com/gabrielfalcao/plant

暫無
暫無

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

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