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 判断一个进程是否存在
Apr 09 Python
Python制作简单的网页爬虫
Nov 22 Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 Python
python实现各进制转换的总结大全
Jun 18 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
详解Python里使用正则表达式的ASCII模式
Nov 02 Python
Python读写docx文件的方法
May 08 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
Pytorch实现神经网络的分类方式
Jan 08 Python
Python读取VOC中的xml目标框实例
Mar 10 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 登录完成后如何跳转上一访问页面
2014/01/14 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP闭包函数详解
2016/02/13 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
Highcharts入门之简介
2016/08/02 Javascript
jQuery自定义图片上传插件实例代码
2017/04/04 jQuery
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
浅谈vuepress 踩坑记
2018/04/18 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
logging level级别介绍
2020/02/21 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
优秀高中生事迹材料
2014/02/11 职场文书
个人委托书格式
2014/04/04 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
小学优秀教师材料
2014/12/15 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书