1

当我在终端上写:

./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)

这两个都不起作用,请帮忙。

4

1 回答 1

6

壳牌扩大*subprocess.call没有。使用扩展*自己glob.glob

除此之外,表示要发出的命令的参数应该是一个列表或一个字符串对象(不是多个参数)。

import glob
import subprocess
subprocess.call(['./sherlock'] + glob.glob('*.txt'), shell=False)
于 2015-02-01T07:01:13.383 回答