Как запустить perl-скрипт с несколькими аргументами из скрипта python

#python #python-3.x #perl #subprocess #python-os

#python #python-3.x #perl #подпроцесс #python-os

Вопрос:

Я создал код python, который должен последовательно выполнять серию команд perl в оболочке ПК, проблема в том, что я не понимал, что для отправки этих скриптов мне нужно добавить параметры (у меня есть n_params), совет?

пример команды для отправки perl [file_name.pl ] [параметры]

Для запуска этих команд в Windows CMD я использую ОС и подпроцесс

пример кода на python

 # command = perl [file_name.pl] [params]
# path = location/of/where/the/pl/file/is/saved

perl_script = subprocess.Popen(["C:\Perl64\bin\perl.exe",path   command], stdout=sys.stdout)
perl_script.communicate()
 

Но при запуске скрипта подобным образом код вводит меня в заблуждение, потому что он говорит, что не может найти имя файла в определенном каталоге

Комментарии:

1. ["C:\Perl64\bin\perl.exe", path command] выглядит неправильно. Я думаю, что это должно быть ["C:\Perl64\bin\perl.exe", path "file_name.pl", "param1", "param2", ...]

Ответ №1:

Этот аргумент для Popen()

 ["C:\Perl64\bin\perl.exe", path   command] 
 

не выглядит корректно, поскольку вы написали, что command есть perl [file_name.pl] [params] . Вместо этого попробуйте:

 p = subprocess.Popen(["C:\Perl64\bin\perl.exe", path "file_name.pl", "param1", "param2", ...])