在Python中逐字符读取文件

时间:2016-05-08 19:18:44

标签: python-2.7 file

我有一个名为random.txt的大文件,其中包含大量的1和0.我正在尝试使用此脚本读取每个值:

random_file = open("random.txt", "r")
while True:
    char = random_file.read(1)
    if not char: break
    print char

问题在于,有时不会打印01作为字符,而是打印010,因此它会一次显示三个。

我正在使用Python 2.7.9

预期输出应该是很多只包含0或1的行。在同一行中不应该有多个数字。

1 个答案:

答案 0 :(得分:0)

在python中,if not 0的计算结果为True,因为0是假Y值:

>>> not 0 is True
True

你可能想要的是:

random_file = open("random.txt", "r")
while True:
    char = random_file.read(1)
    if char == "": break
    print char

这可以解释你的一些问题。不知道其余部分来自哪里。