您的代码尝试执行的 *** 作是调用名为的程序
cd ..。您想要的是称为的命令
cd。
但是
cd是外壳内部的。所以你只能称它为
subprocess.call('cd ..', shell=True) # pointless pre! See text below.
但这是没有意义的。
由于没有进程可以更改另一个进程的工作目录(同样,至少在类似UNIX的 *** 作系统上,但在Windows上也是如此),因此此调用将使子Shell更改其目录并立即退出。
您可以通过使用命名参数来实现所需的功能
os.chdir(),该
subprocess参数
cwd可以在执行子流程之前立即更改工作目录。
例如,要
ls在根目录中执行,您可以
wd = os.getcwd()os.chdir("/")subprocess.Popen("ls")os.chdir(wd)
或简单地
subprocess.Popen("ls", cwd="/")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)