#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", ...])