![](/img/trans.png)
[英]python selenium driver.quit() won't terminate the program midway
[英]My Python program won't terminate properly?
当我使用命令终止程序时,它不会终止,而是假设我想在打开“否”时打开另一个程序,这是我的代码:
import getpass
print 'Hello', getpass.getuser(), ', welcome!'
do = raw_input ('What program would you like to open? ')
if do.lower() == 'browser' or 'internet' or 'Chrome' or 'Google chrome':
import webbrowser
webbrowser.open ('www.google.com')
oth = raw_input ('Are there any others? ')
if oth.lower() == 'yes' or 'ye' or 'yeah':
oth2 = raw_input ('Please name the program you would like to open! ')
else:
import sys
sys.exit()
看着:
if do.lower() == 'browser' or 'internet' or 'Chrome' or 'Google chrome':
在这里,您有几个始终为True的语句; “互联网”或“ Chrome”或“ Google chrome”中的每一个都是一个非空字符串。 do.lower()
具有什么值都没有关系。 这意味着python将该行视为if something或True的等效项。
您要执行的操作是使用in
运算符来测试do
是否为以下选项之一:
if do.lower() in ('browser', 'internet', 'chrome', 'google chrome'):
请注意,我将列表中的所有选项都小写以进行测试; 毕竟,您也要小写输入,因此它永远不会匹配“ Chrome”; 它会是“ chrome”或其他名称。
if oth.lower() == 'yes' or 'ye' or 'yeah':
行也是如此。
if oth.lower() == 'yes' or 'ye' or 'yeah':
您的问题在上述行中。
在python中,字符串的真值取决于它是否为空。 例如bool('')
为False
。 bool('ye')
是True
。
您可能想要类似的东西:
if oth.lower() in ('yes','ye','yeah'):
因此,您在浏览器检查中遇到相同的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.