python文件操作的简单方法总结

作者:flag_hw 时间:2023-11-20 06:31:02 

文件操作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

运行结果:

复制代码


->文件句柄的获取,读操作:
昨夜星辰昨夜风
画楼西畔桂堂东
身无彩凤双飞翼
心有灵犀一点通
->例二:
昨夜星辰昨夜风

以上方法很简单,感谢大家的学习和对脚本之家的支持。

来源:https://www.cnblogs.com/flags-blog/p/11802175.html

标签:python,文件操作
0
投稿

猜你喜欢

  • 一次python-flask蓝图的踩坑记录

    2021-11-04 13:32:35
  • 看看那些名牌LOGO的成长史

    2009-03-24 20:37:00
  • 微信小程序实现给嵌套template模板传递数据的方式总结

    2024-05-22 10:31:50
  • mysql mysqldump只导出表结构或只导出数据的实现方法

    2024-01-23 19:46:55
  • Jupyter加载文件的实现方法

    2021-11-12 23:16:15
  • Django中日期时间型字段进行年月日时分秒分组统计

    2023-01-05 02:26:09
  • Python图像运算之图像阈值化处理详解

    2023-03-20 22:36:24
  • Python numpy.interp的实例详解

    2023-01-21 07:07:06
  • 利用ImageAI库只需几行python代码实现目标检测

    2023-06-25 15:03:28
  • python调用kubernetesAPI简单使用方法

    2021-05-09 23:25:21
  • tensorflow mnist 数据加载实现并画图效果

    2023-10-20 15:07:33
  • CSS hacks与争议

    2007-11-19 12:56:00
  • JavaScript编写点击查看大图的页面半透明遮罩层效果实例

    2024-02-24 03:33:08
  • 淘宝搜索框研究报告

    2010-07-27 12:49:00
  • 浅议 Web 网页 Form 表单设计技巧

    2007-10-09 13:05:00
  • Python Scrapy图片爬取原理及代码实例

    2022-04-29 05:51:06
  • js实现div闪烁原理及实现代码

    2024-04-16 09:05:02
  • python多进程共享变量

    2023-08-30 07:40:53
  • 简单介绍Python的Tornado框架中的协程异步实现原理

    2021-06-21 10:00:23
  • python轮询机制控制led实例

    2023-12-12 01:39:00
  • asp之家 网络编程 m.aspxhome.com