标签:字符串 with 系统 上下 for循环 直接 还需要 read strong
文件的三种打开方式以及with管理上下文
一、文件的三种打开方式
f = open(r'D:\pycharm\yjy\上海python学习\456.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
f = open(r'D:\pycharm\yjy\上海python学习\456.txt','w',encoding='utf8') #清空原来的文件后,重新写入
f.write('yanjiayi')
f.close()
写的其他语法
是否可读 、会将列表拼为字符串写出来
print(f.writable()) #可写 True
f.writelines(['sdklfj','sdkfjksldf']) #会将列表拼为字符串写出来
f = open(r'D:\pycharm\yjy\上海python学习\456.txt','a',encoding='utf8') #不会删除原来的文件,在后面直接写入
f.write('meilidexiaokeai')
f.close()
二、with管理上下文
2.1.1 文本模式(t)
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 系统 上下 for循环 直接 还需要 read strong
原文地址:https://www.cnblogs.com/wwbplus/p/11329541.html