我必须使用python子进程执行命令。
默认情况下,命令执行为处理python脚本文件所在的目录。比如
subprocess.Popen(shlex.split("ls -l"))
将列出脚本文件目录中的文件。
但是我希望这个命令在另一个目录中执行,比方说,B。 我怎么能这样做。
我试试这个,但是faild:
env['PWD'] = "/data/a"
f = tempfile.TemporaryFile('w+b')
p = subprocess.Popen(shlex.split(cmd),stdout= f,stderr=f,env=env)
答案 0 :(得分:1)
您可以使用os.chdir或将cwd参数用于Popen。
答案 1 :(得分:0)
您是否尝试更改unix命令
ls -l
要
之类的东西ls -l /usr/share;
答案 2 :(得分:0)
ls -l
列出当前目录默认值中的所有项目。您可以使用ls -l
ls -l /your-path
要列出的目录