檔案的三種開啟方式以及with管理上下文

2022-04-28 05:53:30 字數 1723 閱讀 9614

檔案的三種開啟方式以及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())

檔案的三種開啟模式

檔案操作的基礎模式有三種 預設的操作模式為r模式 檔案讀寫內容的格式有兩種 預設的讀寫內容的模式為b模式 需要注意的是 t b這兩種模式均不能單獨使用,都需要與r w a之一連用。如rt,wb.r read,唯讀模式,只能讀不能寫,檔案不存在時報錯。f open path mode rt path為...

用python開啟資料夾的三種方式

一 利用explorer.exe import os 利用explorer.exe執行 start directory r c 軟體包 os.system explorer.exe s start directory 二 用os.startfile 想最快的入門python嗎?請搜尋 泉小朵 來學習...

檔案備份的三種方式

資料備份的方式有完全備份 差異備份以及增量備份,那麼這三種備份方式有什麼區別,在具體應用中又該如何選擇呢?首先說一下什麼是存檔屬性,存檔 屬性表示此檔案 資料夾的備份屬性,只是提供給備份程式使用,當未選中時,備份程式就會認為此檔案已經 備份過 可以不用再備份了。所以,當備份程式備份了乙個檔案時,預設...