關於檔案操作,參考:python:檔案操作
一、檔案儲存與讀取的步驟:
1)思路:
str.encode('編碼格式'):對unicode字串進行編碼,編碼成連續位元組的格式,才能存放到檔案中,即物理介質上;
str.decode('解碼格式'):對物理介質上的連續位元組資料進行解碼,解碼常unicode格式的資料,才能在python的ide上顯示;
#編碼格式:utf-8、gbk、big5;
#python內部用unicode編碼,來表示乙個字元;顯示格式也是unicode;
==>unicode編碼才是真正意義上的字串;
2)開啟檔案、將資料儲存到檔案中、關閉檔案、開啟並讀取檔案內容
a、開啟檔案:open()函式
完整格式:open(file, mode = 'r', buffering = -1, encoding = none, errors = none, newline = none, closefd = true, opener = none)
#mode:開啟的方式;
二、例項
例項1:unicode格式和str格式的轉換:
s = u'你好'#encode(編碼格式),指定編碼格式,對unicode字串進行編碼,
r = s.encode('
utf-8')
(r)#
輸出:b'\xe4\xbd\xa0\xe5\xa5\xbd'
#b'\xe4\xbd\xa0\xe5\xa5\xbd':共用了6個位元組(xe4為乙個位元組)來編碼字串 '你好';
#得到乙個string的字串,即連續位元組的字串;
#只有string的字串,才能存到物理介質中,
#decode('解碼格式'),對編碼的string格式的字串進行解碼;
print(r.decode('
utf-8'))
#輸出:你好
#encode選擇的編碼格式,要和decode選擇的解碼格式統一(都用utf-8),不然得不到最初的資料;
例項二:資料存放檔案內、從檔案內讀取資料
三、其它:
1)unicode格式的資料,不能夠直接儲存到文字檔案中,必須以一種編碼格式(如utf-8),將資料編譯成連續位元組的格式(如str),才能存放到檔案中;
注:解碼的格式,要於檔案編碼時的格式統一,不然得不到最初資料;
3)從python2到python3,字串的語義變化:
python2 ——>python3----------------------str ->bytes
unicode -> str
4)str,表面上表示的是字串,實際上抽象的是乙個連續的位元組;
==>因為,早起美國人發明字元編碼(ascii碼)時,乙個位元組表示乙個字元,只針對乙個字元(不是字串)進行編碼的,若想要多個連續的字串,則給出乙個連續的位元組;
==>後來,由於各國語言的字元種類較多,乙個位元組表示乙個字元,無法滿足需(表示不完),則各種編碼格式被發明,其中unicode是比較通用的一種;
Python如何讀寫文字檔案?
1.讀取文字檔案 f open test.txt r print f.read f.seek 0 print f.read 14 f.seek 0 print f.readline print f.readline f.seek 0 print f.readlines f.seek 0 for li...
python 讀寫文字檔案
本人最近新學python 用到文字檔案的讀取,經過一番研究,從網上查詢資料,經過測試,總結了一下讀取文字檔案的方法.a f open filename r content f.read decode utf 8 b f codecs.open encoding utf 8 content f.rea...
Python 讀寫文字檔案
def readfile filename,mode r 讀取檔案內容 filename 檔名 return string bin 若檔案不存在,則返回空字串 import os if not os.path.exists filename return fp open filename,mode,...