空白行仅包含\n
或\r\n
或\r
。
tempfile = open(file,"r")
for id,line in enumerate(tempfile):
if(line != "\n" or line != "\r\n" or line !="\r"):
print(id,line)
为什么仍然可以打印空白行?
答案 0 :(得分:3)
The
if(line != "\n" or line != "\r\n" or line !="\r"):
应阅读
if line != "\n" and line != "\r\n" and line !="\r":
即使用and
而不是or
。 (我也删除了括号,因为Python中不需要括号。)
同一个表达式可以更习惯地写成这样:
if line not in {"\n", "\r\n", "\r"}:
或者甚至:
if line.rstrip("\r\n"):
(这将删除所有结尾的CR和LF字符,然后检查是否还有剩余。)