Python EOFError для второго raw_input в скрипте только на WSL - PullRequest
1 голос
/ 18 марта 2019

У меня есть базовый сценарий, который я выполняю в терминале WSL (Ubuntu 18.04), который получает 2 ввода от пользователя для создания электронной почты, по сути, он получает сообщение, а затем сервер для использования.

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

ServerTraceback (most recent call last):
File "/home/dev/bin/script", line 155, in <module>
create_report()
File "/home/dev/bin/script", line 98, in create_report
servername=get_servername()
File "/home/dev/bin/script", line 10, in get_servername
servername = raw_input("Server")
EOFError

Как ни странно, если я запускаю тот же скрипт с python2 -i / home / dev / bin / script, он работает, но из терминала WSL он выдает ошибку EOFError.

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

Это 2-й вход, тот, который производит EOFError

def get_servername():
servername = raw_input("Server")
return servername

Из строки я также вижу это;

26004 read(3, "log_info(\"Parsing report for IPs"..., 512) = 512
26004 read(3, " break\nif not servername:\n    lo"..., 512) = 512
26004 write(2, "    ", 4)               = 4
26004 write(2, "servername = raw_input(\"Server N"..., 40) = 40
26004 close(3)                          = 0
26004 write(2, "EOFError", 8)           = 8
26004 write(2, "\n", 1)                 = 1
26004 rt_sigaction(SIGINT, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc31ec3ef20}, {sa_handler=0x7fc31f76c130, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc31ec3ef20}, 8) = 0
26004 exit_group(1)                     = ?
26004 +++ exited with 1 +++

Сценарий отлично работает в интерактивном режиме, а также при непосредственном запуске на машине с Linux.

Я не уверен, но мне кажется, что что-то из stdin настроено неправильно или похоже?

Любая помощь с благодарностью.

...