2012-03-07 5 views
0

У меня есть программа, которая обрабатывает файлы и возвращает другой файл в качестве вывода. Когда я запускаю его в cmd, я сначала устанавливаю путь: «cd c: \ program», а затем устанавливаю его для обработки файла, находящегося в папке программы: «program test.txt». Я хотел бы, чтобы программа python сделала это для меня, используя модуль подпроцесса, но я не могу заставить его работать.Запуск другой программы с использованием Python

Я прочитал соответствующие посты, и я знаю, что это должно быть без проблем, но, будучи новичком, я не смог понять это. Помогите с большим удовлетворением.

Вот один пример кода, который я пробовал. Он работает, но не дает никаких результатов.

import subprocess 

textfile = 'c:\program\test.txt' 
programPath = r'C:\program\program.exe' 
subprocess.Popen([programPath, textfile]) 
+8

Пожалуйста, покажите, что вы пробовали, и что пошло не так: программа + сообщение об ошибке. –

+0

Добавлен один пример кода. – root

+0

Что значит «Он работает, но не дает никаких результатов»? Как вы можете сказать, что он работает? Как вы ожидаете результатов? –

ответ

4

Вы забыли предварять r к textfile «s буквальным: (.. \t это символ табуляции в следующий раз, пожалуйста, включите любые сообщения об ошибках в пост, а)

textfile = r'c:\program\test.txt' 

+0

Если я ошибаюсь, обычно не было сообщений об ошибках из этой проблемы. Но предпосылка 'r' правильная –

+0

@DavidRobinson:' program.exe' будет (надеюсь) дать сообщение об ошибке. –

+0

Спасибо. Смутно это решает проблему. (ошибка не вызвала ошибку, поэтому - вот почему я думал, что я более концептуально ошибаюсь здесь. – root

Смежные вопросы