news 2026/4/26 7:04:41

Python 文件操作方法总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 文件操作方法总结

文件处理流程

  • 1.打开文件,得到文件句柄并赋值给一个变量
  • 2.通过句柄对文件进行操作
  • 3.关闭文件

r模式,默认模式,文件不存在则报错

w模式,文件不存在则创建,文件存在则覆盖

a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写日志文件的时候常用),追加模式是一种特殊的写模式

b(rb,wb,ab)模式:不用加encoding:utf-8

基本操作

打开文件

1

open(path, flag[, encoding][, errors])

  • path:要打开文件的路径
  • flag:打开文件的方式
  • r 以只读的方式打开文件,文件的描述符放在文件的开头
  • rb 以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头
  • r+ 打开一个文件用于读写,文件的描述符放在文件的开头
  • w 打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
  • wb 打开一个文件只用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
  • w+ 打开一个文件用于读写,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
  • a 打开一个文件用于追加,如果文件存在,文件描述符将会放在文件末尾
  • a+
  • encoding:编码格式
  • errors:错误处理

1

2

3

path=r"C:\Users\Desktop\file1.txt"

#ignore 忽略错误

f=open(path,"r",encoding="gbk")

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读; 不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

"b"表示以字节的方式操作

  • rb 或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

读文件内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

# 1、读取文件全部内容

str1=f.read()

print(str1)

# 2、读取指定字符数

str2=f.read(10)

print("*"+str2+"*")

str3=f.read(10)

print("*"+str3+"*")

# 3、读取整行,包括"\n"字符

str4=f.readline()

print(str4)

str5=f.readline()

print(str5)

# 4、读取指定字符数

str6=f.readline(10)

print(str6)

# 5、读取所有行并返回列表

list7=f.readlines()

print(list7)

# 6、若给定的数字大于0,返回实际size字节的行数

list8=f.readlines(20)

print(list8)

# 7、修改描述符的位置

f.seek(10)

str9=f.read()

print(str9)

关闭文件

f.close()

1

2

3

4

5

6

7

# 一个完整的过程

try:

f1=open(path,"r", encoding="gbk")

print(f1.read())

finally:

iff1:

f1.close()

1

2

withopen(path,"r",encoding="gbk") as f2:

print(f2.read())

写文件

1

2

3

4

5

6

7

8

9

10

11

path=r"C:\Users\Desktop\file4.txt"

f=open(path,"w")

# 1、将信息写入缓冲区

f.write("lee is a good man")

# 2、刷新缓冲区

# 直接把内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入

f.flush()

f.write("lee is a good man\n")

f.close()

withopen(path,"a") as f:

f.write("good man")

1

2

3

4

5

6

withopen('a.txt','w') as f:

pass

withopen('a.txt','r') as read_f,open('b.txt','w') as write_f:

data=read_f.read()

write_f.write(data)

1

2

3

4

5

6

7

8

9

10

11

path=r"C:\Users\yanji\Desktop\day7\test1"

withopen(path,"wb") as f3:

str="lee is a good man"

f3.write(str.encode("utf-8"))

withopen(path,"rb") as f2:

data=f2.read()

print(data)

print(type(data))

newDate=data.decode("utf-8")

print(newDate)

print(type(newDate))

到此这篇关于Python 文件操作方法总结的文章就介绍到这了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 6:58:32

Android APK签名版本傻傻分不清?一个命令教你快速识别V1/V2/V3/V4签名方案

Android APK签名方案深度解析:从V1到V4的实战诊断指南 在Android应用开发与安全分析领域,签名方案的选择与验证直接影响着应用的安全性和兼容性。每次签名方案的迭代都代表着安全机制的升级,但同时也带来了版本识别的复杂性。本文将带您深入理…

作者头像 李华
网站建设 2026/4/26 6:56:06

特朗普 T1 手机更新设计却无发布时间,定金规则不明引真实性质疑

特朗普 T1 手机更新设计却无发布时间,定金规则不明让人怀疑其真实性我们每周都会持续关注特朗普手机的下落,像往常一样去询问,却再次遭到无视,且这款手机似乎离真正发布仍遥遥无期。上周,特朗普移动对其网站进行了全面…

作者头像 李华
网站建设 2026/4/26 6:54:24

AI人脸隐私卫士效果实测:远景合影、多人照片人脸模糊展示

AI人脸隐私卫士效果实测:远景合影、多人照片人脸模糊展示 1. 引言:数字时代的隐私保护挑战 在社交媒体和数字摄影普及的今天,我们每天都会拍摄和分享大量照片。从家庭聚会到旅行留念,这些照片往往包含多人的面部信息。然而&…

作者头像 李华
网站建设 2026/4/26 6:42:58

抖音内容下载终极指南:三步解锁海量免费素材

抖音内容下载终极指南:三步解锁海量免费素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批…

作者头像 李华
网站建设 2026/4/26 6:42:00

Qwen3.5-2B模型API安全设计与访问控制实战

Qwen3.5-2B模型API安全设计与访问控制实战 1. 为什么API安全如此重要 想象一下,你刚部署好的AI模型突然被恶意用户刷爆,或者生成了不恰当的内容导致企业形象受损。这种情况在缺乏API安全防护的AI服务中并不少见。API作为模型与外界交互的通道&#xff…

作者头像 李华
网站建设 2026/4/26 6:31:48

Solana Agent Kit:AI智能体与区块链交互的插件化工具包实战

1. 项目概述:当AI智能体遇见Solana生态如果你正在构建一个AI驱动的应用,并且希望它能自动在Solana区块链上执行交易、铸造NFT、进行DeFi操作,那么你很可能已经遇到了一个核心难题:如何让一个“大脑”(AI模型&#xff0…

作者头像 李华