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实现socket端口重定向示例
Feb 10 Python
python入门教程 python入门神图一张
Mar 05 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
详谈python在windows中的文件路径问题
Apr 28 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
对python3标准库httpclient的使用详解
Dec 18 Python
Python高级特性与几种函数的讲解
Mar 08 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
Sep 17 Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
python 实现的截屏工具
May 08 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
十天学会php之第八天
2006/10/09 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
JS 类型转换常见方法小结
2010/05/31 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python小进度条显示代码
2019/03/05 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
追悼会上的答谢词
2014/01/10 职场文书
心理健康教育制度
2014/01/27 职场文书
主题酒店策划书
2014/01/28 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
新手入门Mysql--sql执行过程
2021/06/20 MySQL
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang