with管理文件操作上下文

with管理文件操作上下文

with open(文件路径,打开模式(rt/wt/at/rb/wb/ab),编码格式) as 变量名:

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

with open('F:\FTW.txt','r',encoding='utf8') as f:
    data = f.read()
    print(data)

今天是一个美好的日子,可惜不在黑夜,鸟不在鸣叫,交通不在拥堵。
我今天没去金山寺
最初的相遇 最后的别离,期待相遇与别离。
今天是一个美好的日子,可惜不在黑夜,鸟不在鸣叫,交通不在拥堵。
我今天没去金山寺
最初的相遇 最后的别离,期待相遇与别离。    

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

with open('F:\FTW.txt','rb') as fr1,\
    open('F:\FTA.txt','wb') as fw,\
    open('F:\FTA.txt','rb') as fr2:
     data=fr1.read()
     result=fw.write(data)
     data1=fr2.read(result)
     print(f'first:{data}')
     print(f'second:{data1}')
    
first:b'\xe4\xbb\x8a\xe5\xa4\xa9\xe6\x98\xaf\xe4\xb8\x80\xe4\xb8\xaa\xe7\xbe\x8e\xe5\xa5\xbd\xe7\x9a\x84\xe6\x97\xa5\xe5\xad\x90\xef\xbc\x8c\xe5\x8f\xaf\xe6\x83\x9c\xe4\xb8\x8d\xe5\x9c\xa8\xe9\xbb\x91\xe5\xa4\x9c\xef\xbc\x8c\xe9\xb8\x9f\xe4\xb8\x8d\xe5\x9c\xa8\xe9\xb8\xa3\xe5\x8f\xab\xef\xbc\x8c\xe4\xba\xa4\xe9\x80\x9a\xe4\xb8\x8d\xe5\x9c\xa8\xe6\x8b\xa5\xe5\xa0\xb5\xe3\x80\x82\r\n\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe6\xb2\xa1\xe5\x8e\xbb\xe9\x87\x91\xe5\xb1\xb1\xe5\xaf\xba\r\n\xe6\x9c\x80\xe5\x88\x9d\xe7\x9a\x84\xe7\x9b\xb8\xe9\x81\x87 \xe6\x9c\x80\xe5\x90\x8e\xe7\x9a\x84\xe5\x88\xab\xe7\xa6\xbb\xef\xbc\x8c\xe6\x9c\x9f\xe5\xbe\x85\xe7\x9b\xb8\xe9\x81\x87\xe4\xb8\x8e\xe5\x88\xab\xe7\xa6\xbb\xe3\x80\x82\r\n\xe4\xbb\x8a\xe5\xa4\xa9\xe6\x98\xaf\xe4\xb8\x80\xe4\xb8\xaa\xe7\xbe\x8e\xe5\xa5\xbd\xe7\x9a\x84\xe6\x97\xa5\xe5\xad\x90\xef\xbc\x8c\xe5\x8f\xaf\xe6\x83\x9c\xe4\xb8\x8d\xe5\x9c\xa8\xe9\xbb\x91\xe5\xa4\x9c\xef\xbc\x8c\xe9\xb8\x9f\xe4\xb8\x8d\xe5\x9c\xa8\xe9\xb8\xa3\xe5\x8f\xab\xef\xbc\x8c\xe4\xba\xa4\xe9\x80\x9a\xe4\xb8\x8d\xe5\x9c\xa8\xe6\x8b\xa5\xe5\xa0\xb5\xe3\x80\x82\r\n\xe6\x88\x91\xe4\xbb\x8a\xe5\xa4\xa9\xe6\xb2\xa1\xe5\x8e\xbb\xe9\x87\x91\xe5\xb1\xb1\xe5\xaf\xba\r\n\xe6\x9c\x80\xe5\x88\x9d\xe7\x9a\x84\xe7\x9b\xb8\xe9\x81\x87 \xe6\x9c\x80\xe5\x90\x8e\xe7\x9a\x84\xe5\x88\xab\xe7\xa6\xbb\xef\xbc\x8c\xe6\x9c\x9f\xe5\xbe\x85\xe7\x9b\xb8\xe9\x81\x87\xe4\xb8\x8e\xe5\x88\xab\xe7\xa6\xbb\xe3\x80\x82\r\n'
second:b''    
posted @ 2019-05-28 20:48  最后的别离  阅读(303)  评论(0编辑  收藏  举报