Использование sherlock для проверки на плагиат через модуль подпроцесса python

Когда я пишу на терминале:

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

Ничего из этого не работает, пожалуйста, помогите.

1 ответ

Решение

Shell расширить *, subprocess.call не. Разверните * вы используете glob.glob,

Кроме того, аргумент, представляющий команду, которая должна быть выдана, должен быть списком или строковым объектом (а не несколькими аргументами).

import glob
import subprocess
subprocess.call(['./sherlock'] + glob.glob('*.txt'), shell=False)
Другие вопросы по тегам