Python文件读取常用方法
1. 关于读取文件
| f.read() | 读取文件中所有内容 |
| f.readline() | 读取第一行的内容 |
| f.readlines() | 读取文件里面所有内容,把每行的内容放到一个list里面 |
注:因为文件指针的作用,如果以上方法连用,会有读取影响
使用方法请参见:http://www.cnblogs.com/yun1108/p/8967334.html
2. f.flush() :刷新缓冲区,立即写到磁盘上
3. f.seek(index) : 移动文件指针到指定的下标处,即从指定的下标处开始读取文件,但写入还是从最后开始写入
4. with open : 用完后自动关闭文件,省去了手动添加f.close()功能 例子:修改文件
# 第一种,适合读取小一些的文件
with open('users','a+') as fw:
fw.seek(0) #用r+,就可省略这一步
result = fw.read()
new_result = result.replace('bcd','python')
fw.seek(0)
fw.truncate() #清空文件内容
fw.write(new_result)
print(new_result) # 第二种,读取大文件并修改
import os
with open('users') as fr,open('.users','w',encoding='utf-8') as fw: #.users是一个临时文件
for line in fr:#从需要修改的文件里面读文件
new_line=line.replace('python','修改文件')
fw.write(new_line)
os.remove('users') #删除原文件
os.rename('.users','users') #将临时文件重命名为users
5. 循环文件 --- 高效读取文件
f=open('users','a+',encoding='utf-8') # f:文件对象,或者文件句柄
#文件中内容为:
# abc,123
# qwe,456
# 1. 循环读取文件中的内容并存入字典
d={}
f.seek(0)
while 1: #第一种,但要求文件里不能有空行,如有空行,则只能读取到空行的上一行
line=f.readline().strip()
if line:
# pass #什么也不做
user,passwd=line.split(',')
d[user]=passwd
else:
break
print(d) #输出内容:{'abc': '123', 'qwe': '456'}
# 2. 直接循环文件对象f,每次取的就是文件里的每一行
f.seek(0) # 如果open文件时是r+,可省略这步
for i in f:
print('每次循环的是',i)
#输出内容:
#每次循环的是 abc,123
#每次循环的是 qwe,456
l=['abc123\n','bcd123\n']
f.writelines(l)#会循环list里面的每个元素并写进文件中,此方法用于list,如果是字符串则直接用write写即可
#文件中的内容更新为:
# abc,123
# qwe,456
# abc123
# bcd123
6. encoding='utf-8' : 如果读写的文件中有中文,要加上
Python文件读取常用方法的更多相关文章
- python文件读取和写入案例
python文件读取和写入案例 直接上代码吧 都是说明 百度上找了很多,最终得出思路 没有直接可以读取修改的扩展,只能先读取,然后复制一份,然后在复制出来的文件里面追加保存 然后删除读的那个,但是缺 ...
- Python文件读取和数据处理
一.python文件读取 1.基本操作 读取文件信息时要注意文件编码,文件编码有UFT-8.ASCII或UTF-16等. 不过在python中最为常用的是UTF-8,所以如果不特别说明就默认UTF-8 ...
- Python 文件读取
1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1: line = file ...
- Python——文件读取
我们经常需要从文件中读取数据,因此学会文件的读取很重要,下面来介绍一下文件的读取工作: 1.读取整个文件 pi_digits.text 3.1415926535 8979323846 ...
- python文件读取
1.如何将一个“lessons.txt”文档一行行输出? myfile = file(‘lessons.txt’) for f in myfile.readlines(): print f myfil ...
- Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
刚接触Python学习,正准备做个爬虫的例子,谁知道代码一开始就遇到了一个大坑,狂汗啊. 问题是这样的:我通过代码爬取了博客园首页的HTML代码并存入到blog.txt文件当中,然后准备读取出来之后进 ...
- 初识python 文件读取 保存
上一章最后一题的答案:infors.sort(key=lambda x:x['age'])print(infors)--->[{'name': 'laowang', 'age': 23}, {' ...
- python --文件读取数据
读取整个文件: 首先创建一个文件,例如我创建了一个t x t文件了. 然后我想读取这个文件了,我首先将上面的这个文件保存在我即将要创建的Python的文件目录下, 即读取文件成功. 解析: 函数ope ...
- 超级基础的python文件读取
读取文件的两种方式: 1.使用os的open函数: import sys,os r=open("data1.txt","r+") fr=r.readlines( ...
随机推荐
- 洛谷P2336 喵星球上的点名
解:SAM + 线段树合并 + DFS序. 姓和名之间插入特殊字符,转化为下题: 给定串集合S,T,问S中每个串包含了T中的几个串?T中每个串被多少个S中的串包含? 解:对S建广义SAM,并线段树合并 ...
- snmpwalk
什么是snmpwalk?snmpwalk是一个SNMP小程序,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户. snmpwalk的作用 ...
- (转)Java并发编程:线程池的使用
背景:线程池在面试时候经常遇到,反复出现的问题就是理解不深入,不能做到游刃有余.所以这篇博客是要深入总结线程池的使用. ThreadPoolExecutor的继承关系 线程池的原理 1.线程池状态(4 ...
- django基于中间件的IP访问频率控制
一.中间件的代码 注意:成功时返回的是None,那样才会走视图层,返回httpresponse就直接出去了 import time from django.utils.deprecation impo ...
- Codeforces Round #523 (Div. 2) C Multiplicity (DP)
传送门 https://www.cnblogs.com/violet-acmer/p/10005351.html 题意: 给定一数组a[],从a[ ]中除去任意个元素得到b[ ],求能形成多少“好序列 ...
- 表格模型的监听 TableModelListener
当表格内容发生改变,监听做了哪些操作,需要表格模型的监听 TableModelListener来实现. 以上一个随笔内容<高级组件——表格模型TableModel>为例,增加监听事件内容. ...
- C#:TextBox数据绑定
经常写用一个TextBox显示某个对象,然后编辑之后再保存的程序.以前都是在TextBox_TextChanged事件中修改对象的值,或者保存的时候再读取TextBox.Text属性保存对象的值.这样 ...
- qml: QtChart横纵轴label设置;
在qml中,使用ChartView作为图表展示区域, 但是并没有给定接口用来设置xlabel,ylabel. 没得办法,只能采用笨方案: (我的方法如下) import QtQuick 2.0 imp ...
- zookeeper的搭建和简单的使用
一.什么是zookeeper,有什么用 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据 ...
- Hadoop记录-hive merge小文件
1. Map输入合并小文件对应参数:set mapred.max.split.size=256000000; #每个Map最大输入大小set mapred.min.split.size.per.no ...