Mic*_*yer -1 python if-statement
我正在编写一个解析器,其中两行被比较在一起(可以说是'mainline'和它之前的行).如果这两条线都匹配,则主线被丢弃.我只希望这发生在仅包含换行符或回车换行符的行上.所以我有这个代码
lastline = 0
pointer = 0
for lines in fileLines:
mainline = fileLines[pointer]
if lastline != 0:
print "Last Line: ",lastline
print "This Line: ",mainline
if lastline == '\n' or '\r\n':
if mainline == '\n' or '\r\n':
print "Would drop"
lastline = mainline
pointer = pointer + 1
Run Code Online (Sandbox Code Playgroud)
它每次通过for循环时都会打印"会掉线",当字符串肯定不是这四个选项中的任何一个时.我想我正在做一些完全倒退的事情,但我正在教自己蟒蛇,所以当我出错的时候,我真的没有人告诉我.感谢上帝,你们都在这里.任何想法为什么会这样?
感谢您的帮助,它完美无缺.谢谢!!!
lastline == '\n' or '\r\n'
Run Code Online (Sandbox Code Playgroud)
是相同的
(lastline == '\n') or ('\r\n')
(lastline == '\n') or bool('\r\n')
(lastline == '\n') or True
True
Run Code Online (Sandbox Code Playgroud)
你也想要
if lastline in ('\n', '\r\n'):
Run Code Online (Sandbox Code Playgroud)
要么
if lastline == '\n' or lastline == '\r\n':
Run Code Online (Sandbox Code Playgroud)