gpt4 book ai didi

python - 子进程不使用python中的更改目录

转载 作者:行者123 更新时间:2023-12-04 19:03:20 24 4
gpt4 key购买 nike

我正在做这个简单的事情

import subprocess
with cd("/home/myuserid"):
subprocess.call("ls ")

其中 cd 取自 here它只是不起作用(与任何其他路径相同):

OSError: [Errno 2] No such file or directory

最佳答案

ls 后面有多余的空格,这导致了您的问题。删除它,它应该可以正常工作。

import subprocess
with cd("/home/myuserid"):
subprocess.call("ls")

当您使用 subprocess没有 shell=True ,它将您传递的整个字符串解释为要执行的命令。所以它会寻找一个字面上称为 "ls " 的程序。当您提供额外的空间时,这当然不存在。

如果您使用 shell=True ,即使有额外的空间,它也能正常工作,因为 /bin/sh shell 将用于运行命令,并且 shell 不会关心额外的空间。一般来说,使用默认值 shell=False 会更安全。 ,不过,所以我会坚持下去。

关于python - 子进程不使用python中的更改目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25187535/

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