Python3: печатать с новой строки, пока в другом потоке открыт ввод - PullRequest
0 голосов
/ 19 июня 2020

Python 3.5:

У меня есть код, который выглядит примерно так:

def printer():
    time.sleep(5)
    print('Output')

thread = threading.Thread(target=printer, args=(), daemon=True)
thread.start()
while True:
    x = input('Input: ')
    #do some work with x

Когда я запускаю это, если я на самом деле не ввожу какой-либо ввод, окончательный вывод в итоге выглядит так:

Input: Output

Но я хочу, чтобы «Вывод» всегда печатался в отдельной строке, например:

Input:
Output

, даже если я ничего не ввожу во вход. Кроме того, это также приемлемо, если происходит следующее:

Input: #this field can no longer be used
Output
Input: 

, если я не ввожу никаких данных.

РЕДАКТИРОВАТЬ: Поскольку я думаю, что не сделал это очень ясно, если бы я был в процессе ввода, я бы хотел, чтобы произошел один из следующих двух случаев:

Input: foo #I can continue typing on this line
Output

или

Input: foo #I can't type on this line
Output
Input: #it doesn't matter if 'foo' doesn't reappear here, starting over is okay

1 Ответ

0 голосов
/ 19 июня 2020

Потому что «Но я хочу, чтобы« Вывод »всегда печатался в отдельной строке».

Я думаю, вы можете поставить «\ n» перед своим «выводом».

Изменение:

print('Output')

Кому:

print('\nOutput')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...