检查回车是否在给定的字符串中

时间:2012-12-19 13:38:57

标签: python python-2.7

我正在读取文件中的一些行,并且我正在检查每行是否具有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

谢谢

3 个答案:

答案 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根本没有增加。