使用 sherlock 通过 python 子流程模块检查是否存在抄袭

Using sherlock to check for plagiarism through python subprocess module

当我在终端上写的时候:

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