11 python subprocess
在我当前的工作目录中,我有dir ROOT /里面有一些文件.
我知道我可以执行cp -r ROOT/* /dst,我也没有问题.
但是如果我打开我的Python控制台并写下这个:
import subprocess
subprocess.call(['cp', '-r', 'ROOT/*', '/dst'])
Run Code Online (Sandbox Code Playgroud)
它不起作用!
我有这个错误: cp: cannot stat ROOT/*: No such file or directory
你能帮助我吗?
che*_*box 10
刚尝试做类似的事情时遇到了这个问题.
*不会扩展为文件名
究竟.如果查看手册页,cp可以使用任意数量的源参数调用它,并且可以使用-t开关轻松更改参数的顺序.
import glob
import subprocess
subprocess.call(['cp', '-rt', '/dst'] + glob.glob('ROOT/*'))
Run Code Online (Sandbox Code Playgroud)
尝试
subprocess.call('cp -r ROOT/* /dst', shell=True)
Run Code Online (Sandbox Code Playgroud)
注意在这里使用单个字符串而不是数组.