我正在学习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
答案 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