Как сделать так, чтобы мой запрос на ввод отображался, не нажимая Enter, прежде чем он появится? - PullRequest
0 голосов
/ 05 августа 2020

Я работаю с python сокетами. Кажется, все работает нормально, за исключением НЕКОТОРЫХ причин: каждый раз, когда я получаю от сервера, мои запросы останавливаются, пока я не нажму Enter .

# Sending a boolean from the server.
user_exists = serv_sock.recv(buffer).decode()

if user_exists:
    print('user exists so...')
    print('I can see this line, no problem. But not the next until enter is pressed')
    confirm = input('-=- Send file: (Y/N)')

Ввод '\ n' в строка не работает, она просто печатает пустую строку. Есть ли причина, по которой это происходит? Есть ли способ программно вставить Enter нажать?

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Чтобы объяснить то, что я сказал в своем комментарии, не могли бы вы переписать его как:

# Sending a boolean from the server.
user_exists = serv_sock.recv(buffer).decode()

if user_exists:
    print('user exists so...')
    print('I can see this line, no problem. But not the next until enter is pressed')
    print('-=- Send file: (Y/N)')
    confirm = input('')

Или (как мне только что пришло в голову) вы пытаетесь принять одиночный символ Y или N без нажата клавиша ввода?

0 голосов
/ 05 августа 2020

Вы можете подделать нажатие Enter с помощью библиотеки клавиатуры. Просто установите и импортируйте. Фактический код для подделки - всего одна строка. Я думаю, что keyboard.send ("ввод") должен работать нормально.

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