2015-07-16 3 views
0

У меня есть файл python, который является кодом, который я разработал. Во время его выполнения я вводил с клавиатуры несколько символов на разных этапах самой программы. Кроме того, во время выполнения мне нужно закрыть сеанс блокнота, который появляется, когда я выполняю в своей программе команду subprocess.call(["notepad",filename]). Сказав, что я хотел бы несколько раз запускать этот код с входами, которые меняются в зависимости от случая, и мне было интересно, есть ли автоматическая процедура для этого. Предполагая, что мой код называется «mainfile.py» Я попытался следующие комбинации команд:выполнить файл python в пакетном режиме, указав список команд

import sys 
sys.argv=['arg1'] 
execfile('mainfile.py') 

и

import sys 
import subprocess 
subprocess.call([sys.executable,'mainfile.py','test']) 

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

+0

Каким образом это не работает для первого аргумента? Что вы имеете в виду, второй аргумент должен состоять в том, чтобы закрыть сеанс блокнота? – martineau

ответ

0

Может быть, посмотрите на эту https://stackoverflow.com/a/20052978/4244387

Это не ясно, что вы пытаетесь сделать, хотя, я имею в виду результат, который вы хотите достичь, кажется, просто открыв записную книжку для сохранения файла.

0

subprocess.call() У вас есть правильный способ выполнения сценария и передачи его аргументов.

Что касается запуска блокнота идет, вы могли бы сделать что-то вроде этого:

notepad = subprocess.Popen(['notepad', filename]) 
# do other stuff ... 
notepad.terminate() # terminate running session 
+0

На самом деле проблема с блокнотом теперь исправлена. Я продолжу расследование использования subprocess.call для передачи аргументов, но на данный момент я не вижу никаких вычислений, появляющихся на экране –

+0

Вы имеете в виду, что ваш 'subprocess()' call for 'mainfile.py' не вызывает сообщений об ошибках? – martineau

+0

Да, и я храню эту информацию в другом файле, который находится в том же месте, что и 'mainfile.py' –

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