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参数和作用域的使用
Nov 01 Python
使用Python中的线程进行网络编程的入门教程
Apr 15 Python
在Python中使用元类的教程
Apr 28 Python
在Python程序中进行文件读取和写入操作的教程
Apr 28 Python
在Django框架中设置语言偏好的教程
Jul 27 Python
Python 文件管理实例详解
Nov 10 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
python 编码规范整理
May 05 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
Flask实现跨域请求的处理方法
Sep 27 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
Python基于WordCloud制作词云图
Nov 29 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/12/12 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
文本加密解密
2006/06/23 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
微信小程序 自定义消息提示框
2017/08/06 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
vue实现扫码功能
2020/01/17 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
在Python的Django框架中编写编译函数
2015/07/20 Python
详解Python编程中包的概念与管理
2015/10/16 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
企业活动策划方案
2014/06/02 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS