gpt4 book ai didi

python - 相互需要的子进程命令, "cd"特别麻烦

转载 作者:太空宇宙 更新时间:2023-11-04 05:09:57 25 4
gpt4 key购买 nike

我想要一个程序,使用给定的参数,我使用 optpatse,更改工作目录并执行一些文件。

我尝试过:

subprocess.check_call(['ls'], cwd="/home")

这有效。但如果我这样做:

subprocess.call("cd", shell=True)
subprocess.call("ls", shell=True)

这不起作用,"ls"显示当前 python 文件的工作位置。我知道这两个命令都正确执行,但我需要在第一个命令的目录中执行第二个命令。

def followpath(path):

subprocess.call("cd", shell=True)
subprocess.call("ls", shell=True)

#The real thing I want to execute is:

subprocess.call("cd", shell=True)
subprocess.call(["cd", path])
subprocess.call(["python3", somepyfile])

我还希望在终端中运行脚本后,工作目录更改为路径并执行 somepyfile。

最佳答案

subprocess.call()创建一个子进程,您的 cd因此将更改子进程的CWD(然后立即退出)。您想要os.chdir(path)更改程序的 CWD。

关于python - 相互需要的子进程命令, "cd"特别麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56665363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com