博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python文件读取常用方法
阅读量:6626 次
发布时间:2019-06-25

本文共 1537 字,大约阅读时间需要 5 分钟。

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 oswith 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:        breakprint(d)  #输出内容:{'abc': '123', 'qwe': '456'}# 2. 直接循环文件对象f,每次取的就是文件里的每一行f.seek(0) # 如果open文件时是r+,可省略这步for i in f:    print('每次循环的是',i)#输出内容:#每次循环的是 abc,123#每次循环的是 qwe,456l=['abc123\n','bcd123\n']f.writelines(l)#会循环list里面的每个元素并写进文件中,此方法用于list,如果是字符串则直接用write写即可#文件中的内容更新为:# abc,123# qwe,456# abc123# bcd123

 

6. encoding='utf-8' : 如果读写的文件中有中文,要加上

 

转载于:https://www.cnblogs.com/denise1108/p/10019544.html

你可能感兴趣的文章
Oracle12c 性能优化攻略:攻略1-3: 匹配表类型与业务需求
查看>>
Android布局
查看>>
PowerShell监控Windows打印服务器
查看>>
几道位移运算题
查看>>
MSSTDFMT.DLL无法注册的解决
查看>>
C#(同步调用、异步调用、异步回调)
查看>>
spark学习(1)---dataframe操作大全
查看>>
C语言详解 - 表达式和语句
查看>>
工作,将一张表中指定记录的某几个字段内容和要插入的新数据组合在一起插入另一张表形成一条新记录...
查看>>
正则表达式
查看>>
vector的内存释放
查看>>
数据结构之树
查看>>
go interface 的坑
查看>>
引言-算法-Go
查看>>
I.MX6 NXP git 仓库
查看>>
Linux kernel 不输出log信息
查看>>
I.MX6 working note for high efficiency
查看>>
C语言日期时间标准库
查看>>
二进制思想和多重背包问题
查看>>
Halloween treats HDU 1808 鸽巢(抽屉)原理
查看>>