当我在终端上写的时候:
./sherlock *.txt
有效
但是当我尝试使用 python 子进程做同样的事情时
import subprocess
subprocess.call(['./sherlock','*.txt'])
import subprocess
subprocess.call('./sherlock','*.txt',shell=True)
import subprocess
subprocess.call('./sherlock','*.txt',shell=False)
这两个都不行,请帮忙。
请您参考如下方法:
Shell 展开*,subprocess.call 没有。使用 glob.glob 自行展开 *。
除此之外,表示要发出的命令的参数应该是列表或字符串对象(而不是多个参数)。
import glob
import subprocess
subprocess.call(['./sherlock'] + glob.glob('*.txt'), shell=False)
