Python对文件的三种打开方式以及with管理上下文
生活随笔
收集整理的這篇文章主要介紹了
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()) # 是否可讀 # Trueps:如果我們需要讀文件里面的每一行代碼,我們可以用for循環(huán),舉個栗子
for i in f:print(i) f.close1.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()) sdfwith 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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python四种形式模块的形式与调用
- 下一篇: Python中join 和 split详