Запрос выпуска только в том случае, если терминал интерактивен [дублировать]Python

Программы на Python
Ответить
Anonymous
 Запрос выпуска только в том случае, если терминал интерактивен [дублировать]

Сообщение Anonymous »

Рассмотрим такую ​​программу:

Код: Выделить всё

a = input('Enter A: ')
b = input('Enter B: ')
print(f'{a} + {b} = {int(a) + int(b)}')
< /code>
Это работает нормально, когда вы запускаете его в командной строке. Однако, когда я подчиняюсь вводу из файла, я не хочу, чтобы он печатал «Введите A» и «Enter B», так как я ничего не собираюсь вводить: < /p>
(echo 1; echo 2) | python add.py
Enter A: Enter B: 1 + 2 = 3
< /code>
Я хотел бы увидеть только '1 + 2 = 3' без неуместных подсказок. Как получить функцию ввода Python < /code> для печати только если stdin является терминалом? Для указания дубликата. Я надеялся, что вход («какая -то подсказка») 
не будет печатать подсказку, если он не читал с терминала. Подсказки имеют отношение только к интерактивному вводу. Жаль, что я должен проверить вручную и вызывать различные функции в зависимости от того, является ли Stdin терминалом или нет. В прошлом я работал над системами, которые автоматически напечатали подсказку только при интерактивном запуске. Это было десятилетия назад, прежде чем Python существовал. Это стыдно, технология регрессировала в этом отношении.

Подробнее здесь: https://stackoverflow.com/questions/793 ... nteractive
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»