当我运行这个脚本时,它会跳过第8行的打印功能。我无法弄清楚为什么对我的生活。我已经尝试了很多东西来使这个工作,但我似乎无法在这里找出问题所在。我是Python的新手,请原谅我这是一个非常简单的问题。
编辑:woops,忘了实际代码! facepalm 这里是:import webbrowser
import sys
b = webbrowser.get('windows-default')
print('Type start')
line1 = sys.stdin.readline()
start = 'start'
if line1 == start:
print('What website do you want to open?')
line2 = sys.stdin.readline()
b.open(line2)
答案 0 :(得分:5)
当您将'start'
键入stdin然后按Enter键时,包含换行符的整个字符串最终会存储在line1
中。实际上,line1 == 'start\n'
。在进行比较之前,您需要从字符串末尾删除\n
。一种简单的方法是使用str.rstrip
:
if line1.rstrip() == start:
print('What website do you want to open?')
修改强>
正如Ashwini Chaudhary在评论中指出的那样,你应该使用raw_input
(如果使用Python 3.x,则为input
而不是sys.stdin.readline
。它会缩短您的代码,并且无需完全删除尾随换行符:
line1 = raw_input('Type start')
start = 'start'
if line1 == start:
line2 = raw_input('What website do you want to open?')
b.open(line2)