0

我编写了一个 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?

4

1 回答 1

0

获取当前工作目录(运行脚本时所在的目录)

import os
cwd = os.getcwd()

现在您可以cwd/myfile.py使用 importlib(在 python 3 中)使用完整路径导入文件。有关更多信息,请参阅如何在给定完整路径的情况下导入模块?

附带说明一下,在处理文件和文件系统时,我个人非常喜欢使用这个包: https ://github.com/gabrielfalcao/plant

于 2017-04-13T19:54:19.317 回答