Я хочу перенаправить файл в качестве стандартного ввода в свой сценарий Python, но получаю некоторые ошибки, как только он пытается собрать вход. Простой MWE будет:Невозможно перенаправить стандартный ввод на скрипт Python
Сценарий, как это:
T = int(input())
for i in range(T):
stack = input()
И команда, как это в ЦМД окна:
script.py > someOut.out < someIn.in
И мой входной файл будет иметь содержание, как:
[Int]
[String]
[String]
...
Он получает количество тестов правильно, но как только он видит строку, он всегда выдает некоторые исключения Тион. Например, для файла типа:
1
kdjddhs
Я получаю NameError: name 'kdjddhs' is not defined
. В то же время, файл:
1
+-=
бросает:
File "<string>", line 1
+-=
^
SyntaxError: unexpected EOF while parsing
Почему это так? Когда я запускаю скрипт через интерпретатор, все работает нормально. Как я могу обрабатывать ввод таким образом, чтобы я мог перенаправить стандартный ввод через командную строку, а не обрабатывать фактический текстовый файл через сам сценарий?
Я не очень понимаю, но вы пробовали использовать строку в качестве входного типа данных, а затем проверить, если это номер, и если это вы можете преобразовать его в int и сказать: в диапазоне (T): – frankenapps
Код работает отлично здесь, в Linux и Python3. Возможно, это проблема Windows. – mkiever