前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中read,readline

Python中read,readline

作者头像
py3study
发布2020-01-09 11:27:31
6550
发布2020-01-09 11:27:31
举报
文章被收录于专栏:python3python3

在用python读取文件的时经常用到三read、readline、readlines三种方法,它们功能实质区别如下:

read       读取整个文件

readline    读取下一行

readlines   读取整个文件到一个迭代器以供我们遍历(读取到一个list中,以供使用,比较方便)

测试文件为test.txt内容为:

代码语言:javascript
复制
1 aaaaaaaaaaaaaaaaaaaaa
2 bbbbbbbbbbbbbbbbbbbbb
3 ccccccccccccccccccccc
4 dddddddddddddddddddddd
代码语言:javascript
复制
[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)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档