在我的python程序中,当我发送用户使用webbrowser模块创建一个gmail帐户时,python显示:
"请输入您的Gmail用户名:在现有浏览器会话中创建新窗口."
有没有办法摆脱"在现有浏览器会话中创建新窗口",因为它占用了用户在其Gmail帐户中键入的空间.
这个代码是:
webbrowser.open('https://www.google.com/accounts/NewAccount?service=mail')
gmail_user = raw_input('Please enter your Gmail username: ')
Run Code Online (Sandbox Code Playgroud)
编辑:在尝试了两个Alex Martelli的建议之后,代码是:http://pastebin.com/3uu9QS4A
编辑2:我已经决定告诉用户转到gmail注册页面而不是实际发送它们,因为这样做更简单,并且导致没有(当前无法解决的)错误.
Ale*_*lli 12
正如S.Lott在评论中暗示的那样,你应该做第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)
Run Code Online (Sandbox Code Playgroud)
(对于标准错误而不是标准输出,请使用2而不是1).这是相当低级的编程,但由于webbrowser模块没有为您提供"钩子"来控制浏览器的打开方式,因此它几乎是(或多或少)确保抑制该消息的唯一选择.
归档时间: |
|
查看次数: |
2252 次 |
最近记录: |