Python中read,readline
- 2020 年 1 月 9 日
- 筆記
在用python讀取文件的時經常用到三read、readline、readlines三種方法,它們功能實質區別如下:
read 讀取整個文件
readline 讀取下一行
readlines 讀取整個文件到一個迭代器以供我們遍歷(讀取到一個list中,以供使用,比較方便)
測試文件為test.txt內容為:
1 aaaaaaaaaaaaaaaaaaaaa 2 bbbbbbbbbbbbbbbbbbbbb 3 ccccccccccccccccccccc 4 dddddddddddddddddddddd
[root@node01 ~]# pwd /root [root@node01 ~]# ls -l test.txt -rw-r--r-- 1 root root 97 Jan 20 10:59 test.txt [root@node01 ~]# cat test.txt 1 aaaaaaaaaaaaaaaaaaaaa 2 bbbbbbbbbbbbbbbbbbbbb 3 ccccccccccccccccccccc 4 dddddddddddddddddddddd read方法 [root@node01 ~]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> obj=open('/root/test.txt','r+w') >>> obj.read() '1 aaaaaaaaaaaaaaaaaaaaan2 bbbbbbbbbbbbbbbbbbbbbn3 cccccccccccccccccccccn4 ddddddddddddddddddddddn' >>> obj.read() '' >>> exit() readline方法 [root@node01 ~]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> obj=open('/root/test.txt','r+w') >>> obj.readline() '1 aaaaaaaaaaaaaaaaaaaaan' >>> obj.readline() '2 bbbbbbbbbbbbbbbbbbbbbn' >>> obj.readline() '3 cccccccccccccccccccccn' >>> obj.readline() '4 ddddddddddddddddddddddn' >>> obj.readline() '' >>> exit() readlines方法 [root@node01 ~]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> obj=open('/root/test.txt','r+w') >>> obj.readlines() ['1 aaaaaaaaaaaaaaaaaaaaan', '2 bbbbbbbbbbbbbbbbbbbbbn', '3 cccccccccccccccccccccn', '4 ddddddddddddddddddddddn'] >>> obj.readlines() [] >>> obj.readlines() [] >>>
觸類旁通,還有write、writelines方法,用法與上述方法對應類似,只不過write寫入的對象時字符串(str),writelines寫入的是列表(list),即:
obj.write(str)
obj.writelines(sequence)