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通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
Python操作串口的方法
Jun 17 Python
windows下python和pip安装教程
May 25 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
python找出因数与质因数的方法
Jul 25 Python
python分布式编程实现过程解析
Nov 08 Python
基于python监控程序是否关闭
Jan 14 Python
python学习将数据写入文件并保存方法
Jun 07 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
Python 3.9的到来到底是意味着什么
Oct 14 Python
python plt.plot bar 如何设置绘图尺寸大小
Jun 01 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
wamp安装后自定义配置的方法
2014/08/23 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
Python实现豆瓣图片下载的方法
2015/05/25 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
护士自我评价范文
2014/01/25 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
同意离婚答辩状
2015/05/22 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android