Python - 如何一次读取一个文件?

时间:2014-02-20 17:41:06

标签: python python-2.7 file-handling

我正在学习python文件处理。我尝试使用此代码一次读取一个字符

f = open('test.dat', 'r')

while (ch=f.read(1)):
    print ch

为什么它不起作用

以下是错误消息

C:\Python27\python.exe "C:/Users/X/PycharmProjects/Learning Python/01.py"
File "C:/Users/X/PycharmProjects/Learning Python/01.py", line 4
while (ch=f.read(1)):
         ^
SyntaxError: invalid syntax

Process finished with exit code 1

2 个答案:

答案 0 :(得分:6)

你的语法有点不对,你在while语句中的赋值是无效的语法:

f = open('test.dat', 'r')
while True:
    ch=f.read(1)
    if not ch: break
    print ch

这将启动while循环,并在没有剩余字符可读时将其中断!试一试。

答案 1 :(得分:5)

您可以使用iter的两种形式版本替代while循环:

for ch in iter(lambda: f.read(1), ''):
    print ch