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中map和列表推导效率比较实例分析
Jun 17 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
Python 私有函数的实例详解
Sep 11 Python
PyQT实现多窗口切换
Apr 20 Python
Python Selenium 之关闭窗口close与quit的方法
Feb 13 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
pytorch实现线性拟合方式
Jan 15 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
如何利用pygame实现打飞机小游戏
May 30 Python
图文详解matlab原始处理图像几何变换
Jul 09 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单件模式结合命令链模式使用说明
2008/09/07 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
django中related_name的用法说明
2020/05/20 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
运动会加油口号
2014/06/07 职场文书
2014年收银工作总结
2014/11/13 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
68句权威创业名言
2019/08/26 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
Python集合的基础操作
2021/11/01 Python
JavaScript 对象创建的3种方法
2021/11/17 Javascript