从不同的工作目录运行Python脚本

2024-04-29 16:41:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个节目名称更改.py它会从文件中更改名称(总是剪切一些无用的结尾)。一切都很好,但是我在很多不同的目录中使用这个文件,当我想改变一些东西的时候,这很麻烦。我要搜索的是一个python脚本 让我在我选择的目录中执行这个脚本。在

我的第一个想法是运行另一个脚本名称更改.py 在所需的目录中,然后在那里执行它并在之后删除它 一切都结束了。复制零件起作用。 到目前为止,我尝试使用symlink(它只是在工作目录D中执行脚本)以及subprocess模块,它说在我使用以下命令时没有这样的目录:

subprocess.call(["cd", newpath])

newpath是指向要使用脚本的目录的绝对路径。在

出现错误OSError:[Errno 2]没有这样的文件或目录。在

如果有人有一个优雅的方式来实现这一点,我会很高兴。在

谢谢,再见


Tags: 模块文件py命令目录脚本名称结尾
2条回答

你从任何地方使用的东西应该可以从任何地方得到。在

这就是系统的PATH环境变量的位置。在

您应该将脚本移动到PATH中的某个目录,或者使用脚本的位置扩展{}。在

注: 确保脚本独立于位置工作:广泛使用sys.path,尽可能使用sys.path.join(base, sub),等等。。。在

在你剧本的开头

import os
os.chdir("/dir/to/goto/before/running/the/script")

# rest of the logic goes here

假设你的脚本是这样运行的

./my_脚本dir/to/work/on

那你就可以了

^{pr2}$

相关问题 更多 >