(D16)Python-檔案操作
阿新 • • 發佈:2018-12-08
Python-檔案操作
檔案:file
我穿上大頭皮鞋,走在凌冽荒野
檔案:
- 檔案時用於儲存資料的基本單位
- 檔案通常用來長期儲存
- 檔案中資料是以位元組為單位順序儲存
檔案的操作
- 開啟檔案
- 讀寫檔案
- 關閉檔案
注:檔案開啟數量有一定限制
檔案開啟函式
- open(filename,mode=‘rt’):用於開啟一個檔案,返回返回操作此檔案的流物件,如果開啟失敗,觸發OSError
檔案物件的關閉方法
- F.close() 關閉檔案 釋放系統資源
- xxd filename: 檢視位元組十六進位制內容
- repr() 還原字串的python 表示式
- read() 依次逐個讀取
- readline() 讀取位元組串返回
- readlines() 以列表形式顯示一個或多個字元檔案
示例:
try:
f = open('file.txt')
print('檔案以相對路徑開啟成功')
except OSError:
print('檔案操作失敗')
print(f.readline())
print(f.readline())
f.close()
print('檔案關閉成功')
文字檔案模組
-
模式字元 ‘r’
1.對文字檔案讀寫操作需要使用字串進行讀寫操作
2.讀寫過程中會自動編碼解碼
3.統一使用\n分隔 -
文字檔案的寫操作:
方法:
F.write(x)
F.wrutelines(列表)
模式字串:
‘r’,‘w’,‘x’,‘a’,‘b’,‘t’
二進位制檔案操作二進位制字元:”b“
- 預設檔案中儲存的都是以位元組(byte)為單位的資料,通常有人為規則的格式,需要以位元組為單位進行讀寫
- 對二進位制檔案的讀寫需要用字串(bytes) 或位元組
陣列(bytearray)進行操作 - 對於二進位制檔案讀寫方法都 需要用位元組為單位進行操作
F.read(n) F.readline() F.readlines() F.write(位元組串) F.writelines(位元組串組成的列表)
F.seek方法
作用:
- 設定檔案的讀寫位置,返回新的讀寫位置
格式:
-
F.seek(偏移量, whence=相對位置)
偏移量- 大於0代表向檔案末尾方向移動
- 小於0代表向檔案頭方向移動
相對位置:
- 0 代表從檔案頭開始偏移
- 1 代表從當前讀寫位置開始偏移
- 2 代表從檔案尾開始偏移
標準輸入輸出檔案:
模組名:
sys
- sys.stdin 標準輸入檔案(預設為鍵盤)
- sys.stdout 標準輸出檔案(預設為螢幕終端)
- sys.stderr 標準錯誤輸出檔案(預設為螢幕終端)
- 注: 標準檔案不需要開啟即可以使用,也不用手動關閉
十個漢字佔多少個位元組?
漢字編碼(只有兩種)
國標系列:
- GB18030(二位元組或四位元組編碼, 27533個字)
- GBK(二位元組編碼,20013個字)
- GB2313(二位元組編碼,約7千多個字)
(Windows常用)
國際標準:- UNICODE(UNCODE16/UNICODE32) <-> UTF-8
(Linux/Mac OS X/ IOS/ Android 常用) - UTF-8中:
- 英文ASCII (0x0 - 0x7F) 一位元組
- (0x80 - 0x3FF) 二位元組
- (0x400 - 0xFFFF) 三位元組(中文在此區)
- UNICODE(UNCODE16/UNICODE32) <-> UTF-8
python 編碼字串:
- ‘gb2312’
- ‘gbk’
- ‘gb18030’
- ‘utf-8’
- ‘ascii’
編碼註釋:
- 在原始檔中,第一行或第二行寫入的如下內容是編碼註釋
-- coding:gbk --
或
-- coding:utf-8 --