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实现给qq邮箱发送邮件的方法
May 28 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
Python Json序列化与反序列化的示例
Jan 31 Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 Python
值得收藏的10道python 面试题
Apr 15 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
Python解析json代码实例解析
Nov 25 Python
Python3 Click模块的使用方法详解
Feb 12 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
Jun 02 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 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
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
python基础教程之序列详解
2014/08/29 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
python3.7添加dlib模块的方法
2020/07/01 Python
python 爬虫请求模块requests详解
2020/12/04 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
同事打架检讨书
2014/02/04 职场文书
财产公证书
2014/04/10 职场文书
春节超市活动方案
2014/08/14 职场文书
妇女工作先进事迹
2014/08/17 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
讲解MySQL增删改操作
2022/05/06 MySQL