欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python对文件的三种打开方式以及with管理上下文

发布时间:2025/3/20 python 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Python对文件的三种打开方式以及with管理上下文 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文件的三种打开方式以及with管理上下文

一、文件的三种打开方式

1.1 只读

f = open(r'D:\pycharm\python\123.txt','r',encoding='utf8') data = f.read() #读取文件 print(data) f.close()

读的其他语法

逐行读、是否可读

print(1,f.readline()) # 逐行读 print(f.readable()) # 是否可读 # True

ps:如果我们需要读文件里面的每一行代码,我们可以用for循环,举个栗子

for i in f:print(i) f.close

1.2 只写

f = open(r'D:\pycharm\python\123.txt','w',encoding='utf8') #清空原来的文件后,重新写入 f.write('yanjiayi') f.close()

写的其他语法

是否可读 、会将列表拼为字符串写出来

print(f.writable()) #可写 True f.writelines(['sdklfj','sdkfjksldf']) #会将列表拼为字符串写出来

1.3 追加

f = open(r'D:\pycharm\python\123.txt','a',encoding='utf8') #不会删除原来的文件,在后面直接写入 f.write('meilidexiaokeai') f.close()

二、with管理上下文

2.1 文本模式

2.1.1 文本模式(t)

''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' f = open('test.py','rt') data = f.read() print(data)

2.1.2进制模式(b)

b模式是通用的模式,因为所有的文件在硬盘中都是以二进制的形式存储的,需要注意的是:b模式读写文件,一定不能加上encoding参数,因为二进制无法再编码。

fw = open('test.png','wb') # encoding是为了让二进制代码变成文本所需要的,所以b模式不需要encoding fw.write(img)

之前我们使用open()方法操作文件,但是open打开文件后我们还需要手动释放文件对操作系统的占用。但是其实我们可以更方便的打开文件,即Python提供的上下文管理工具——with open()。

with open('32.txt', 'rt', encoding='utf8') as f:print(f.read()) sdf

with open()方法不仅提供自动释放操作系统占用的方法,并且with open可以使用逗号分隔,一次性打开多个文件,实现文件的快速拷贝。

with open('32.txt', 'rb') as fr, \open('35r.txt', 'wb') as fw:f.write(f.read())

可以多个文件一起打开,只需要一个with就好,但是每个文件前面都需要加open,也要写as!“\”表示他们在一行,只是写不下了才用“\”这个标识分开写的,“\”他只是要告诉python解释器这是个特殊意义的符号。

总结

以上是生活随笔为你收集整理的Python对文件的三种打开方式以及with管理上下文的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。