发布时间:2019-08-30 08:31:09编辑:auto阅读(1389)
在用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 aaaaaaaaaaaaaaaaaaaaa\n2 bbbbbbbbbbbbbbbbbbbbb\n3 ccccccccccccccccccccc\n4 dddddddddddddddddddddd\n' >>> 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 aaaaaaaaaaaaaaaaaaaaa\n' >>> obj.readline() '2 bbbbbbbbbbbbbbbbbbbbb\n' >>> obj.readline() '3 ccccccccccccccccccccc\n' >>> obj.readline() '4 dddddddddddddddddddddd\n' >>> 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 aaaaaaaaaaaaaaaaaaaaa\n', '2 bbbbbbbbbbbbbbbbbbbbb\n', '3 ccccccccccccccccccccc\n', '4 dddddddddddddddddddddd\n'] >>> obj.readlines() [] >>> obj.readlines() [] >>>
触类旁通,还有write、writelines方法,用法与上述方法对应类似,只不过write写入的对象时字符串(str),writelines写入的是列表(list),即:
obj.write(str)
obj.writelines(sequence)
上一篇: 51CTO - 老男孩python全栈心
下一篇: 对Python源码加密及反编译前后对比
47874
46440
37327
34769
29340
26004
24954
19973
19573
18069
5815°
6443°
5955°
5983°
7088°
5932°
5973°
6466°
6430°
7813°