BOOKPYTHON Telegram 3470
Чтобы читать строки из stdin в Python до версии 3, использовалась функция raw_input вместо input. Проблема с использованием input заключалась в том, что она выполняла введённую строку как код:


$ echo '[x ** 2 for x in range(10)]' | python2 -c 'print input()'
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


В Python 3 функция input просто читает строку, а raw_input больше не существует.

Если вы хотите поддерживать код, работающий как в Python 2, так и в Python 3, можно использовать следующий подход:


from contextlib import suppress

with suppress(NameError):
input = raw_input


Популярный модуль six уже реализует этот механизм для вас. Он предоставляет функцию input, которая просто читает строку, независимо от версии Python.

👉@BookPython
👍3



tgoop.com/BookPython/3470
Create:
Last Update:

Чтобы читать строки из stdin в Python до версии 3, использовалась функция raw_input вместо input. Проблема с использованием input заключалась в том, что она выполняла введённую строку как код:


$ echo '[x ** 2 for x in range(10)]' | python2 -c 'print input()'
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


В Python 3 функция input просто читает строку, а raw_input больше не существует.

Если вы хотите поддерживать код, работающий как в Python 2, так и в Python 3, можно использовать следующий подход:


from contextlib import suppress

with suppress(NameError):
input = raw_input


Популярный модуль six уже реализует этот механизм для вас. Он предоставляет функцию input, которая просто читает строку, независимо от версии Python.

👉@BookPython

BY Библиотека Python разработчика | Книги по питону


Share with your friend now:
tgoop.com/BookPython/3470

View MORE
Open in Telegram


Telegram News

Date: |

Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. The best encrypted messaging apps Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. The group also hosted discussions on committing arson, Judge Hui said, including setting roadblocks on fire, hurling petrol bombs at police stations and teaching people to make such weapons. The conversation linked to arson went on for two to three months, Hui said. Image: Telegram.
from us


Telegram Библиотека Python разработчика | Книги по питону
FROM American