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多进程共享变量
Apr 06 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
Jun 30 Python
Python使用ConfigParser模块操作配置文件的方法
Jun 29 Python
举例讲解Python常用模块
Mar 08 Python
django rest framework 实现用户登录认证详解
Jul 29 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
python名片管理系统开发
Jun 18 Python
10个顶级Python实用库推荐
Mar 04 Python
python基础学习之生成器与文件系统知识总结
May 25 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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 生成饼图 三维饼图
2009/09/28 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
php生成验证码,缩略图及水印图的类分享
2016/04/07 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
vue实现公告栏文字上下滚动效果的示例代码
2020/06/16 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
Python 解析XML文件
2009/04/15 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
python基于递归解决背包问题详解
2019/07/03 Python
python实现各种插值法(数值分析)
2019/07/30 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
普通PHP程序员笔试题
2016/01/01 面试题
企业管理培训感言
2014/01/27 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
教师求职信
2014/06/17 职场文书
计算机求职信
2014/07/02 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
2014年保卫工作总结
2014/12/05 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书