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引用(import)文件夹下的py文件的方法
Aug 26 Python
python中xrange用法分析
Apr 15 Python
python读取word文档的方法
May 09 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
python中的格式化输出用法总结
Jul 28 Python
python实现杨氏矩阵查找
Mar 02 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
Python解析多帧dicom数据详解
Jan 13 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
pytorch SENet实现案例
Jun 24 Python
Python 通过正则表达式快速获取电影的下载地址
Aug 17 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
BBS(php & mysql)完整版(七)
2006/10/09 PHP
可定制的PHP缩略图生成程式(需要GD库支持)
2007/03/06 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
详解webpack4升级指南以及从webpack3.x迁移
2018/06/12 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
js中延迟加载和预加载的具体使用
2021/01/14 Javascript
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
JNI的定义
2012/11/25 面试题
测试时代收集的软件测试面试题
2013/09/25 面试题
网络教育自我鉴定
2013/11/01 职场文书
三八节活动主持词
2015/07/04 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python