我正在读取文件中的一些行,并且我正在检查每行是否具有CRLF的窗口类型。如果要么' \ n'或者' \ r'在任何一行都没有,它必须报告错误。我尝试使用以下代码,即使该行没有' \ r',也没有报告任何错误
Open_file = open(File_Name,'r').readlines()
while Loop_Counter!= Last_Line:
Line_Read = Open_file[Loop_Counter]
if('\r\n' in Line_Read):
pass
else:
print Loop_Counter
谢谢
答案 0 :(得分:8)
这不起作用,因为Loop_Counter
根本没有调整过;无论初始值是什么,它都没有改变,while
循环无限期地运行或永远不会通过。你的代码在这里很不清楚;我不确定你为什么要这样构造它。
你建议的更容易做到这一点:
infile = open(filename, 'rb')
for index, line in enumerate(infile.readlines()):
if line[-2:] != '\r\n':
print index
'rb'
参数是必要的,以确保新换行符为\r\n
,而不仅仅是\n
。
答案 1 :(得分:2)
试试这个
Open_file = open(File_Name,'rb').readlines()
你必须以二进制模式打开文件
答案 2 :(得分:0)
应该是
if ('\r' not in Line_Read or '\n' not in Line_Read):
print Loop_Counter
?? 另外,正如jdotjdot指出的那样,Loop_Counter根本没有增加。