python中的三个读read(),readline()和readlines()
Python 将文本文件的内容读入可以操作的字符串变量非常容易。
文件对象提供了三个“读”方法: .read()、.readline() 和 .readlines()。
每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。
.read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。
.readline() 和 .readlines() 非常相似。它们都在类似于以下的结构中使用:
Python .readlines() 示例
fh = open( 'c:\\autoexec.bat')
for line in fh.readlines():
print line.readline() 和 .readlines()
之间的差异是后者一次读取整个文件,象 .read()一样。
.readlines()自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for... in ... 结构进行处理。
另一方面,.readline()每次只读取一行,通常比 .readlines()慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用.readline()。
写:
writeline()是输出后换行,下次写会在下一行写。write()是输出后光标在行末不会换行,下次写会接着这行写
======================================================
文件1有两行
a
b
line1=file1.read() 输出结果为“文件的全部文本”
a
b
line1=file1.readline() 输出结果为“文件的首行”
a
line1=file1.readlines() 输出结果为“所有文件行程一行,类似list列表的形式”
['a\n', 'b']
==================================================================
- 过readline输出,对于比较大的文件,这种占用内存比较小。
- #coding:utf-8
- f = open('poem.txt','r')
- result = list()
- for line in open('poem.txt'):
- line = f.readline()
- print line
- result.append(line)
- print result
- f.close()
- open('result-readline.txt', 'w').write('%s' % '\n'.join(result))
- #coding:utf-8
- '''''cdays-4-exercise-6.py 文件基本操作
- @note: 文件读取写入, 列表排序, 字符串操作
- @see: 字符串各方法可参考hekp(str)或Python在线文档http://docs.python.org/lib/string-methods.html
- '''
- f = open('cdays-4-test.txt', 'r') #以读方式打开文件
- result = list()
- for line in f.readlines(): #依次读取每行
- line = line.strip() #去掉每行头尾空白
- if not len(line) or line.startswith('#'): #判断是否是空行或注释行
- continue #是的话,跳过不处理
- result.append(line) #保存
- result.sort() #排序结果
- print result
- open('cdays-4-result.txt', 'w').write('%s' % '\n'.join(result)) #保存入结果文件
python中的三个读read(),readline()和readlines()的更多相关文章
- python中读取文件的read、readline、readlines方法区别
#读取文件所有内容,返回字符串对象,python默认以文本方式读取文件,遇到结束符读取结束. fr = open('lenses.txt')read = fr.read()print(type(rea ...
- python中的三种输入方式
python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...
- python中实现三目运算
python中没有其他语言中的三元表达式,不过有类似的实现方法 如: a = 1 b =2 k = 3 if a>b else 4 上面的代码就是python中实现三目运算的一个小demo, 如 ...
- python中的三引号
在python中,三引号支持字符串跨多行.包含换行符号.制表符号.以及其它特殊字符 >>> hi = ''' ... this ... is a ... test ... ''' & ...
- Python中的三种数据结构
Python中,有3种内建的数据结构:列表.元组和字典.1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.列表中的项目.列表中的项目应该包括在方括号中,这 ...
- python第二十九课——文件读写(readline()和readlines()的使用)
演示readline()和readlines()的使用: #1.打开文件 f3=open(r'a.txt','r',encoding='gbk') #2.读取数据 content3=f3.readli ...
- python中输入三个整数x,y,z,请把这三个数由小到大输出。
输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...
- 函数动态参数和Python中的三种空间
动态参数 : *args 实参角度: 定义一个函数时, * 将所有的位置参数聚合到一个元祖中 顺序 : 位置参数 > * args > 默认参数 > **kwargs 接受所有参数 ...
- python中的三次握手以及四次挥手
三次握手1.客户端对服务端说:我的序号是x,我要向你请求连接:(第一次握手,发送SYN包,然后进入SYN-SEND状态)2.服务端听到之后对客户端说:我的序号是y,期待你下一句序号是x+1的话(意思就 ...
随机推荐
- 如何将HTML页面中的文本设置首行缩进
text-indent属性介绍 属性值单位 描述 em 比如:1em 就代表缩进1个字,2em缩进2个字...... 由于简单我就不过多的介绍了直接上代码了哦,注意:text-indent属性的值支持 ...
- log4cxx日志库在Windows+VS2017上的编译使用
项目中用到了log4cxx,但是Debug版本运行时老是提示找不到Properities::setProperty?怀疑是提供的库有问题,所以尝试源码来重新编译一下.log4cxx官方主页:https ...
- UITableView总结
.协议介绍 UITableViewDataSource() UITableViewDelegate(常用) .刷新 下拉刷新: 上拉刷新 .搜索 .重用 自定义cell 不使用重用方法 注册Cell ...
- qt md5加密,base64编码解码
qt md5加密,base64编码解码 md5加密 QByteArray data = "12121221"; data += "asdfas"; QByteA ...
- [视频教程] 如何在docker环境下的纯净ubuntu系统中安装最新版nginx
视频地址: https://www.bilibili.com/video/av68984490/ 笔记: 1.拉取ubuntu镜像并运行 docker pull ubuntudocker run -i ...
- c# 第33节 类的封装--访问修饰符
本节内容: 1:封装的简介 2:封装怎么实现 3:访问修饰符 1:封装的简介 2:封装怎么实现 3:访问修饰符 4:访问修饰符注意点
- pwn-pwn2
环境说明 Ubuntu 16.04 pwntool IDA gdb-peda 先丢到Ubuntu看看文件的类型 64位 然后看看保护机制,发现没有保护机制 然后丢到IDA看看 F5查看伪代码 ma ...
- day81_10_30redis的简单操作。
一.启动redis 在启动redis中可以持续的启动redis服务端,启动的服务端即使被关掉也不会停止服务: >: redis-server & 在客户端连接刚刚启动的redis服务端: ...
- 剑指Offer-24.二叉树中和为某一值的路径(C++/Java)
题目: 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中,数组长度大的 ...
- [PHP] laravel5.5 搭建流程
1.nginx 配置 server { listen 80; server_name laravel5-test.d.com; charset utf-8; location ...