【发布时间】:2019-11-02 01:22:39
【问题描述】:
我想要一个程序,通过给定的参数,我正在使用 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。
【问题讨论】:
标签: python linux terminal subprocess cd