У меня проблемы. Я хочу запустить команду оболочки в Python в определенном каталоге. На основе кода, который я нашел в Интернете, мне нужны следующие включения:Сценарий Python для запуска команды оболочки
import os
import subprocess
import shlex
, а затем сам код ниже
os.chdir('/etc/test/')
cmd = 'scrapy crawl test'
subprocess.call(shlex.split(cmd))
Как это выглядит, как я пытаюсь выполнить команду «SCRAPY проверка обхода "в каталоге/etc/test /. Когда я запускаю это вручную с помощью терминала, кажется, работает хорошо, однако, когда я запускаю его с помощью этого кода Python дает мне ошибку:
INFO Exception occured while scraping: [Errno 2] No such file or directory
кто-нибудь сможет сказать мне, если мой код неверен, или если я возможно, это неправильный путь.
Есть ли дополнительная информация о трассировке или только одна ошибка? – abarnert
В качестве побочного примечания 'cmd = ['scrapy', 'crawl', 'test']' then 'subprocess.call (cmd)' проще и, вероятно, сложнее ошибиться; не нужно использовать 'shlex' здесь. Но это не повлияет на проблему, которую вы пытаетесь решить. – abarnert
@abamert Я не могу найти дальнейшую информацию о трассировке. Я боюсь. Будет ли мне еще нужна команда os.chdir, а также в вашем случае? – Jimmy