让Python认为它正在另一个文件夹中执行

vmdwslir  于 2023-07-01  发布在  Python
关注(0)|答案(1)|浏览(73)

此问题已在此处有答案

How to make an "always relative to current module" file path?(2个答案)
python: Change the scripts working directory to the script's own directory [duplicate](5个答案)
5天前关闭。
我有一个保存在目录中的Python脚本。当我从它的文件夹中运行它时,它就像预期的那样工作。然而,当我通过一个界面(Unraid的用户脚本插件的“运行脚本”按钮)运行它时,它失败了。
在进行故障排除时,我发现当我从目录中运行os.system("pwd")命令时,它会返回脚本的目录,但当通过接口运行时,它会返回\root
脚本失败,因为导入的模块正在脚本所在的目录中查找文件。
我无法更改模块,但是有没有一种方法可以让脚本认为它正在特定的目录中运行,而不管它在哪里执行?

eblbsuwk

eblbsuwk1#

要在脚本中更改目录,请从os模块调用chdir函数。也就是说,在导入任何模块之前,将以下内容添加到脚本的头中,

import os
os.chdir('<path/to/modules>')

其中<path/to/modules>必须替换为要加载的模块的实际路径。
最好是,如果您的问题只是从脚本所在的目录导入模块的问题,您可以使用sys模块附加路径。也就是说,

import sys
sys.path.append('<path/to/modules>')

相关问题