日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發(fā)布時間:2025/3/20 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python对文件的三种打开方式以及with管理上下文 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文件的三種打開方式以及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循環(huán),舉個栗子

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)

''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' f = open('test.py','rt') data = f.read() print(data)

2.1.2進制模式(b)

b模式是通用的模式,因為所有的文件在硬盤中都是以二進制的形式存儲的,需要注意的是:b模式讀寫文件,一定不能加上encoding參數(shù),因為二進制無法再編碼。

fw = open('test.png','wb') # encoding是為了讓二進制代碼變成文本所需要的,所以b模式不需要encoding fw.write(img)

之前我們使用open()方法操作文件,但是open打開文件后我們還需要手動釋放文件對操作系統(tǒng)的占用。但是其實我們可以更方便的打開文件,即Python提供的上下文管理工具——with open()。

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

with open()方法不僅提供自動釋放操作系統(tǒng)占用的方法,并且with open可以使用逗號分隔,一次性打開多個文件,實現(xiàn)文件的快速拷貝。

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

可以多個文件一起打開,只需要一個with就好,但是每個文件前面都需要加open,也要寫as!“\”表示他們在一行,只是寫不下了才用“\”這個標識分開寫的,“\”他只是要告訴python解釋器這是個特殊意義的符號。

總結(jié)

以上是生活随笔為你收集整理的Python对文件的三种打开方式以及with管理上下文的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。