# 演示1:
with open('a.txt',mode='x',encoding='utf-8') as f:
pass # =》 增加新空檔案'a.txt'
# 演示2:
with open('c.txt',mode='x',encoding='utf-8') as f:
f.read() # =》 增加新空檔案'c.txt',報錯
# 演示3:
with open('d.txt',mode='x',encoding='utf-8') as f:
f.write('哈哈哈\n') # =》 增加新檔案'd.txt'內容為'哈哈哈'
t模式:
b模式:(binary模式)with open(r'愛nmlgb的愛情.mp4',mode='rt') as f:
f.read() # 硬碟的二進位制讀入記憶體-》t模式會將讀入記憶體的內容進行decode解碼操作
# 演示1:
res=f.read() # 硬碟的二進位制讀入記憶體—>b模式下,不做任何轉換,直接讀入記憶體
print(res) # bytes型別—》當成二進位制
print(type(res))
# 演示2:
with open(r'd.txt',mode='rb') as f:
res=f.read() # utf-8的二進位制
print(res,type(res))
print(res.decode('utf-8'))
# 演示3:
with open(r'd.txt',mode='rt',encoding='utf-8') as f:
res=f.read() # utf-8的二進位制->unicode
print(res)
# 演示4:
with open(r'e.txt',mode='wb') as f:
f.write('你好hello'.encode('gbk'))
# 演示5:
with open(r'f.txt',mode='wb') as f:
f.write('你好hello'.encode('utf-8'))
f.write('哈哈哈'.encode('gbk'))
src_file=input('原始檔路徑》: ').strip()
dst_file=input('原始檔路徑》: ').strip()
with open(r'{}'.format(src_file),mode='rb') as f1,\
open(r'{}'.format(dst_file),mode='wb') as f2:
# res=f1.read() # 記憶體占用過大
# f2.write(res)
for line in f1:
f2.write(line)
# 方式一:自己控制每次讀取的資料的資料量(while迴圈)
print(len(res))
# 方式二:以行為單位讀,當一行內容過長時會導致一次性讀入內容的資料量過大
# t模式:
with open(r'g.txt',mode='rt',encoding='utf-8') as f:
for line in f:
print(len(line),line)
# b模式讀文字:
檔案處理的b模式
b代表位元組bytes模式即位元組模式。以b模式讀取檔案時不能指定encoding,因為已近要求以位元組的模式開啟,但可以在開啟並讀取資料後解碼。字串通過編碼變為bytes,bytes通過解碼變為字串。轉為bytes的兩種方式 a bytes 被轉內容 encoding utf8 b 被轉內容 en...
檔案操作模式
w open 1.txt w encoding utf 8 w 沒有檔案新建檔案,有檔案就清空檔案 w.write 000 n w.flush 在寫入大量資料,要及時處理記憶體空間,不然記憶體可能溢位導致資料丟失 w.write 111 n w.flush 最後一次flush 操作可以省略 w.wr...
python檔案處理b模式
執行環境 windows python3.5 1 rb模式,從檔案中讀取內容,得到的是bytes型別 因為我們使用的是b模式,所以在open函式中不能指定編碼格式,所以列印出來的格式的二進位制的格式,而我們需要得到str型別 這裡我們講一下,一種簡便方法,來檢視檔案的編碼格式。雙擊右下角是可以更改編...