Если у меня есть следующий код Python:
keyphrase = sys.stdin.read()
print(keyphrase)
domain = input()
print(domain)
Я запускаю его следующим образом:
/Users/me/bin/python /Users/me/PycharmProjects/pem_formatter/test_code.py
Please enter a key:
Key line 1
Key line 2
Key line 3
^D
Key line 1
Key line 2
Key line 3
Please enter a domain:
Traceback (most recent call last):
File "/Users/me/PycharmProjects/pem_formatter/test_code.py", line 8, in <module>
domain = input()
EOFError: EOF when reading a line
Я попытался использовать try/except следующим образом:
try:
print('Please enter a key:')
keyphrase = sys.stdin.read()
print(keyphrase)
except EOFError as error:
print('EOF Error')
но это мало что изменило:
/Users/me/bin/python /Users/me/PycharmProjects/pem_formatter/test_code.py
Please enter a key:
Key line 1
Key line 2
Key line 3
^D
Traceback (most recent call last):
File "/Users/me/PycharmProjects/pem_formatter/test_code.py", line 12, in <module>
domain = input()
EOFError: EOF when reading a line
Key line 1
Key line 2
Key line 3
Please enter a domain:
Process finished with exit code 1
Что мне делать в сценариях, когда я могу захотеть ввести многострочный ввод для одной переменной и одну строку для другой?
sys.stdin.read()
будет решением, но Ctrl-D вызывает проблемы. - person runnerpaul   schedule 16.04.2020