在不同目录中运行脚本时将本地文件添加到python搜索路径

在不同目录中运行脚本时将本地文件添加到python搜索路径,python,bash,sys.path,Python,Bash,Sys.path,我编写了一个python脚本“script.py”,当我将它复制到我想要运行它的目录中时,它就会工作。我经常运行这个脚本,所以我想将它添加到.bashrc,这样我就不必将它复制到运行它所需的每个目录中 因此,脚本位于目录中: /home/pythonscripts/Script.py /home/Documents/Test1/ 现在,我想在以下目录中运行此脚本: /home/pythonscripts/Script.py /home/Documents/Test1/ 脚本的一部分是导入

我编写了一个python脚本“script.py”,当我将它复制到我想要运行它的目录中时,它就会工作。我经常运行这个脚本,所以我想将它添加到.bashrc,这样我就不必将它复制到运行它所需的每个目录中

因此,脚本位于目录中:

/home/pythonscripts/Script.py
/home/Documents/Test1/
现在,我想在以下目录中运行此脚本:

/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/python/Script.py”,第115行,在
导入方程
ImportError:没有名为“方程式”的模块
如果将脚本放在运行此脚本的目录(/home/Documents/Test1/)中,则不会出现错误。我认为脚本是在“/home/python”目录中查找equations.py文件,而不是运行脚本的本地目录


我的问题是,如何让脚本以常规方式在本地目录中查找equations.py文件,以便我可以从任何目录运行script.py,并让它知道如何在正在运行的目录中查找equations.py?

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

现在,您可以使用importlib(在python 3中)使用完整路径
cwd/myfile.py
导入文件。有关更多信息,请参阅

另外,在处理文件和文件系统时,我个人非常喜欢使用这个包:

您可以导入sys并将所需路径附加到sys.path,或者执行相对导入。就是这样,我不知道如何将我所在的目录添加到sys.path中。如果我添加的目录正好是我所在的目录,我就可以这样做。但是当我决定在下一个目录中运行脚本时,它还不够通用。您可以
导入os
并尝试
dir\u path=os.path.dirname(os.path.realpath(\uu file\uu))
cwd=os.getcwd()
太棒了,非常感谢。成功了!谢谢你回答的第一部分非常有用。我将阅读第二部分以了解更多信息