Как отметил С.Лотт в комментарии, вам, вероятно, следует сначала выполнить raw_input
; однако, по сути, это не подавляет сообщение от webbrowser
, как вы спрашиваете - оно просто откладывает его.
Чтобы фактически подавить сообщение, вы можете временно перенаправить стандартный вывод или стандартную ошибку - в зависимости от того, какой из двух выбранных вами браузеров использует для отправки этого сообщения. Вероятно, бесполезно перенаправлять их на уровне Python (через sys.stdout
или sys.stderr
), поскольку ваш браузер будет выводить данные напрямую; скорее вы можете сделать это на уровне операционной системы, например, для стандартного вывода:
import os
gmail_user = raw_input('Please enter your Gmail username: ')
savout = os.dup(1)
os.close(1)
os.open(os.devnull, os.O_RDWR)
try:
webbrowser.open(whatever)
finally:
os.dup2(savout, 1)
(для стандартной ошибки вместо стандартного вывода используйте 2 вместо 1). Это довольно низкоуровневое программирование, но, поскольку модуль веб-браузера не дает вам «ловушек» для управления способом открытия браузера, это почти единственный выбор (более или менее) обеспечить подавление этого сообщения.