在python中读取文件 - 最后一行"无"

时间:2015-12-06 10:01:16

标签: python

我创建一个代码来读取文件的每一行" name":

 11001
 10010

我的档案有这个:

 11001
 10010
 None

我的输出是:

  Collections.sort(list);

为什么没有?

3 个答案:

答案 0 :(得分:2)

你有正确的想法,这是一个巧妙的技巧。

  def readFile(name):
    with open(name) as f:
        for line in f:
            line = line.rstrip() 
            print line

答案 1 :(得分:1)

您必须检查readline()

的结果中是否没有'\ r'或'\ n'

答案 2 :(得分:1)

听起来你没有正确地剥离你的线路。但是,不应该真的需要拨打readline

numbers = []

with open('path/to/your/file.txt') as f:
    for line in f:
        line = line.strip()  # important!
        num = int(line, 2)
        numbers.append(num)

如果您只想获得那些正确转换为二进制的行(并且还有更多行不会):

...
    line = line.strip()
    try:
        num = int(line, 2)
    except ValueError:
        # line isn't a valid integer in binary
        pass  # but that's okay
    else:
        # if it is, let's....
        numbers.append(num)