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

Cod*_*ody 1 python file-handling python-2.7

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

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

while (ch=f.read(1)):
    print ch
Run Code Online (Sandbox Code Playgroud)

为什么它不起作用

这是错误消息

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
Run Code Online (Sandbox Code Playgroud)

小智 7

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

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

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


Jon*_*nts 5

您可以使用两个表单版本iter作为while循环的替代方法:

for ch in iter(lambda: f.read(1), ''):
    print ch
Run Code Online (Sandbox Code Playgroud)