python文件操作的简单方法总结


Posted in Python onNovember 07, 2019

文件操作1

#文件操作流程:1、打开文件,得到一个文件句柄;通过文件句柄操作文件;关闭文件。
#将文件打开文件赋给file1,test_file为文件名,utf-8为文件编码;file1是文件的全量内容
data1 = open("test_file",encoding="utf-8").read()
print(data1)
#打开文件,获取文件句柄file2,后续通过file2这个文件句柄对文件进行各种操作方法,默认文件以只读模式打开,只读时不能对文件进行写操作
file2 = open("test_file","r",encoding="utf-8")
#一次将文件内容全部读取
date2 = file2.read()
#"w"是以写模式打开文件,此模式会先清空文件内容,此时不能对文件进行读操作
file3 = open("test_file3","w",encoding="utf-8")
file3.write("file3 文件写\n")
#"a"是文件追加写模式,此时从文件末尾追加往后面写
file4 = open("test_file","a",encoding="utf-8")
file4.write("file4 文件追加写")
#逐行读文件,readline()或直接对文件句柄进行迭代
file5 = open("test_file","r",encoding="utf-8")
for i in range(5):
  print(file5.readline())
#下面将文件句柄直接进行迭代,文件句柄也是迭代器
for line in file5:
  print(line)

文件操作2

#返回当前文件操作的位置信息,返回的是字符的数量
print(file5.tell())
#手工移动文件操作的当前位置,位置信息为seek的实参
file5.seek(10)
#输出文件当前编码,即打开时使用的编码
print(file5.encoding)
#输出文件名称
print(file5.name)
#判断文件是否可读,返回布尔类型,与文件打开时指定的打开模式相关
print(file5.readable())
#判断文件是否可写,返回布尔类型,与文件打开时指定的打开模式相关
print(file5.writable())
#将文件写的内容强制刷到硬盘
file5.flush()
#判断文件是否关闭,返回布尔类型
print(file5.closed)
#默认清空文件内容,传递实参的话就是从文件开头截断多少字符,总是从文件开头开始截断,不论当前文件读写所处的位置
#file5.truncate()
#文件读写模式“r+”,读是从文件开头读,写是从文件末尾往后写,操作文件位置指针是读的位置,只能继续往文件后面追加写
#文件写读模式“w+”,先创建新文件然后写,写了以后可以读。操作文件位置指针是读的位置,只能继续往文件后面追加写
#以二进制读取文件“rb”,打开文件时没有encoding这个参数
file6 = open("binary_file","wb")
#二进制模式打开文件向写入时需要将字符串转换为二进制,否则写报错
file6.write("binary file".encode(encoding="utf-8"))
#文件的修改
#方法1将文件一次全部读取在使用replace,将这个文件修改后的值返回,不修改原文件
data4 = open("test_file4",encoding="utf-8").read()
print(data4.replace("789","7788991010",2))
print(data4)
#方法2逐行读取做判断,写入到一个新文件
file7 = open("test_file4","r",encoding="utf-8")
file8 = open("test_file4_new","w",encoding="utf-8")
for line in file7:
  if "789" in line:
    line = line.replace("789","7788991010")
  file8.write(line)
file7.close()
file8.close()

知识点扩展:

print("->文件句柄的获取,读操作:")
 
f = open('无题','r',encoding='utf8')
d = f.read()
f.close()
print(d)
 
print('->例二:')
f = open('无题','r',encoding='utf8')
e = f.read(9)
f.close()
print(e)
#python3中,文件中一个中英文都占位1

运行结果:

复制代码

->文件句柄的获取,读操作:
昨夜星辰昨夜风
画楼西畔桂堂东
身无彩凤双飞翼
心有灵犀一点通
->例二:
昨夜星辰昨夜风
画

以上方法很简单,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
把大数据数字口语化(python与js)两种实现
Feb 21 Python
Python的高级Git库 Gittle
Sep 22 Python
全面了解Python环境配置及项目建立
Jun 30 Python
基于Python的文件类型和字符串详解
Dec 21 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
对python:循环定义多个变量的实例详解
Jan 20 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
May 27 Python
Python+selenium点击网页上指定坐标的实例
Jul 05 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 Python
Django模型中字段属性choice使用说明
Mar 30 Python
Pandas对每个分组应用apply函数的实现
Dec 13 Python
python实现自定义日志的具体方法
May 28 Python
详解Django admin高级用法
Nov 06 #Python
Python全局锁中如何合理运用多线程(多进程)
Nov 06 #Python
Python实现socket非阻塞通讯功能示例
Nov 06 #Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 #Python
详解Python list和numpy array的存储和读取方法
Nov 06 #Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 #Python
Python list与NumPy array 区分详解
Nov 06 #Python
You might like
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
实现树状结构的两种方法
2006/10/09 PHP
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
node.js 抓取代理ip实例代码
2017/04/30 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
js校验开始时间和结束时间
2020/05/26 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
python中import学习备忘笔记
2017/01/24 Python
Django csrf 验证问题的实现
2018/10/09 Python
用python生成1000个txt文件的方法
2018/10/25 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
员工自我鉴定范文
2013/10/06 职场文书
电子邮箱格式怎么写
2014/01/12 职场文书
辞职信范文大全
2015/03/02 职场文书
污水处理保证书
2015/05/09 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书