Я использовал для запуска программы под названием в`ина через CMD строки, используя следующую команду:Как перевести cmd-строку в строку os.system?
"\Program Files (x86)\The Scripps Research Institute\Vina\vina.exe" --config conf.txt --log log.txt
Таким образом, программа принимает конфигурационный файл для запуска и выводит лог-файл с результатами. Я запускаю программу на python, используя модуль os.system. Тем не менее, я не могу назначить файл конфигурации или файл журнала, как это было в CMD. Я пытался что-то вроде этого в Python:
os.system('C:/Program Files (x86)/The Scripps Research Institute/Vina/vina.exe' --config conf.txt --log log.txt)
Программа открывается очень быстро, то закрывает, возможно, потому, что он не работает конфигурационный файл. Я также попытался поместить конфигурацию в строку следующим образом (я опускаю журнал, пока не получу конфигурацию для работы):
os.system ('C:/Program Files (x86)/Научно-исследовательский институт Скриппса /Vina/vina.exe»,„--config conf.txt“)
в этом случае я получаю ошибку:
TypeError: system() takes at most 1 argument (2 given)
Любые идеи о том, как указать конфигурационный файл и вывод файла журнала в строках python, как в CMD?
Как насчет использования os.path и извлечения пути и затем преобразование его в строку для использования с ОС. System – dhishan
Попробуйте 'subprocess.call (['C:/Program Files (x86)/Исследовательский институт Scripps/Vina/vina.exe', '--config', os.path.normpath ('C:/absolute/path /to/conf.txt '),' --log ',' log.txt ']) '. Вероятно, это попытается создать файл журнала в рабочем каталоге, что может быть неправильным. В этом случае пройдите абсолютный путь к файлу журнала, создав его где-то подходящим, например, пользовательский '% TEMP%' каталог через модуль tempfile. – eryksun