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下singleton模式的实现方法
Jul 16 Python
python进程类subprocess的一些操作方法例子
Nov 22 Python
为python设置socket代理的方法
Jan 14 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
python如何拆分含有多种分隔符的字符串
Mar 20 Python
python使用turtle绘制分形树
Jun 22 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
python对象转字典的两种实现方式示例
Nov 07 Python
Python坐标线性插值应用实现
Nov 13 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
Nov 28 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开发工具之vs2005图解
2008/01/12 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
Python ljust rjust center输出
2008/09/06 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
python 统计数组中元素出现次数并进行排序的实例
2018/07/02 Python
python实现ID3决策树算法
2018/08/29 Python
python中return如何写
2020/06/18 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
医学类导师推荐信范文
2013/11/19 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
培养联系人考察意见
2015/06/01 职场文书
歌剧魅影观后感
2015/06/05 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle