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调用新浪微博API项目实践
Jul 28 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
简单的python协同过滤程序实例代码
Jan 31 Python
Python对List中的元素排序的方法
Apr 01 Python
python线程中同步锁详解
Apr 27 Python
Python之list对应元素求和的方法
Jun 28 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
Selenium自动化测试工具使用方法汇总
Jun 12 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
Python中使用wxPython开发的一个简易笔记本程序实例
2015/02/08 Python
python 写的一个爬虫程序源码
2016/02/28 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
pytest中文文档之编写断言
2019/09/12 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
生物科学系大学生的自我评价
2013/12/20 职场文书
开朗女孩的自我评价
2014/02/10 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
保送生自荐信范文
2015/03/26 职场文书
市场督导岗位职责
2015/04/10 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL