2017-01-23 1 views
1

Я понимаю, что этот вопрос запутан, но я не могу придумать лучшего способа его поместить ...Как я могу ответить на другой запрос raw_input() в python в другом файле?

Позвольте мне объяснить, у меня есть один файл python, который запускает другой файл python через команду execfile(). Он проверяет ошибку, но я хочу, чтобы это делалось само по себе, без меня. Файл, который он проверяет на наличие ошибок, имеет в нем команды raw_input(), поэтому, когда мой основной файл проверяет наличие ошибок, он заставляет меня заполнить raw_input() и нажать enter, чтобы сценарий продолжался.

Я ищу способ запуска другого файла с execfile() и автоматически заполнять запросы raw_input, поэтому мне не нужно.

Для объяснения:

main.py

while True: 
    execfile('second.py') #Will stop for every raw_input(), loop stops too. 
    # Looking for way to fix, so the raw_input is filled and loop continues automatically 

second.py

print("Hello") 
a = raw_input(">") #This will stop main.py from looping, how do I autofill this request from main.py? 
print(a) 
+1

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

+0

, то почему вы временно не сокращаете 'raw_input()' с константами \ случайными значениями? наличие еще третьего скрипта никому не помогает. –

+0

Используйте 'subprocess.Popen', вероятно, –

ответ

2

Так что это не будет идеальный обходной путь, но если вы используете Баш в запускайте свои скрипты, легко сделать только

echo "2" | python b.py 

где b.py является

execfile('a.py') 

и a.py является

a = raw_input() 
print a 

Надеется, что это помогает.

+0

Это замечательно и очень умно! Есть ли способ разместить 1000+ команд эха в одной строке? То, как я перебираю программу, потребует много. – user3525745

+0

@ пользователь3525745. 'cat response_file' вместо' echo', где 'response_file' содержит строки, которые вы хотите распечатать. –

+0

Альтернативно, цикл в bash: 'while true; do echo "2" | python a.py; done' –

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