子流程更改目录

子流程更改目录,第1张

子流程更改目录

您的代码尝试执行的 *** 作是调用名为的程序

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="/")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存