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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
简单说明Python中的装饰器的用法
Apr 24 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
Python松散正则表达式用法分析
Apr 29 Python
TensorFlow模型保存和提取的方法
Mar 08 Python
Python使用pickle模块储存对象操作示例
Aug 15 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
python实现文件的备份流程详解
Jun 18 Python
Django ORM 查询管理器源码解析
Aug 05 Python
python线程定时器Timer实现原理解析
Nov 30 Python
关于python中remove的一些坑小结
Jan 04 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP比你想象的好得多
2014/11/27 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
Python3使用Matplotlib 绘制精美的数学函数图形
2019/04/11 Python
Python实现FM算法解析
2019/06/18 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
工作推荐信模板
2015/03/25 职场文书
安全生产标语口号
2015/12/26 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL