一般情况下,我们是这么读文件的:
1 | for line in open ( "xxx" ): |
2 | print line |
但是有时候,我们想自己控制读取每一行,即open得到fp后,readline(),何时是退出呢?
经过查找N多文档,得到一种很隐晦的说法是当返回空串时表示退出。
于是写法是:
1 | fp = .... |
2 | while True : |
3 | line = fp.readline() |
4 | if len (line) = = 0 : |
5 | break |
6 | #..... |
7 | Do what you want |
其实,可以不用len判断,而用not判断。Python中,空串的not返回True,即not line时为读到EOF,如下:
1 | fp = .... |
2 | while True : |
3 | line = fp.readline() |
4 | if not line: |
5 | break |
6 | #..... |
7 | Do what you want |