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

一、文件的三种打开方式

1.1 只读

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循环,举个栗子

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

1.2 只写

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'])   #会将列表拼为字符串写出来

1.3 追加

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

二、with管理上下文

2.1 文本模式

2.1.1 文本模式(t)

f = open('test.py','rt')
data = f.read()
print(data)

2.1.2进制模式(b)

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

2.2 with……open……as

with……open……as相对于open好的一点就是可以自动关闭文件

扫描二维码关注公众号,回复: 11076168 查看本文章
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
with open('test.py', 'rt', encoding='utf8') as fr1
data1 = fr1.read()
print('data1', data1)   #不需要f.close
with open('test.py', 'rt', encoding='utf8') as fr2, \
        open('test.txt', 'rt', encoding='utf8') as fr1, \
        open('test.png', 'rb') as fr3:
     # 可以多个文件一起打开,只需要一个with就好,但是每个文件前面都需要加open,也要写as!“\”表示他们爱一行,只是写不下了才用“\”这个标识分开写的,“\”他只是要告诉python解释器这是个特殊意义的符号。
    data1 = fr1.read()
    print('data1', data1)
    data2 = fr2.read()
    print('data2', data2)
    data3 = fr3.read()
    print('data3', data3)
发布了706 篇原创文章 · 获赞 891 · 访问量 158万+

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/105708165