2016-05-08 30 views
0

讀取文件字符我有一個​​很大的文件名爲random.txt含有大量的1和0我想使用這個腳本來讀取每個值:通過字符在Python

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.在同線不應該有多於一個的行數。

+0

這應該是確定性的任何文件。你是否看到它在每次運行中打印出不同的東西? –

+0

對於相同的random.txt始終打印相同的結果。 – lpares12

+0

你能解釋一下這個問題嗎?你期望看到什麼?爲什麼? –

回答

0

在Python中,if not 0計算結果爲0,因爲是True假Y值:

>>> not 0 is True 
True 

你可能想要的是:

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

這可以解釋一些您的問題。不知道其餘部分來自哪裏。