一、文件的使用

Python對文本文件和二進制文件都有統(tǒng)一的操作步驟,即“打開-操作-關(guān)閉”
操作文件的流程:

1.文件的打開和關(guān)閉
內(nèi)置函數(shù)open()可以用指定模式打開指定文件并創(chuàng)建文件
使用方法:變量名= open(文件路徑及文件名,模式)
注:路徑中由于\是轉(zhuǎn)義符,所以表示路徑時,使用\\或/

打開模式中,'r'、'w'、'x'、’a'可以和'b'、't'、'+'組合使用,形成既表達讀寫又表達文件模式的方式。
文件使用結(jié)束后要用close()方法關(guān)閉,釋放文件的使用授權(quán)

2.文件的讀寫(注:假如文件變量為f)
f.read(size=-1):從文件中讀入整個文件內(nèi)容
參數(shù)可選,如果給出則讀入前size長度的字符串或字節(jié)流。其結(jié)果是一個字符串。
f.readline(size = -1): 從文件中讀入一行內(nèi)容。
參數(shù)可選,如果給出,讀入該行前size長度的字符串或字節(jié)流。其結(jié)果是一個字符串。
f.readlines(hint=-1):從文件中讀入所有行,以每行為元素形成一個列表。
參數(shù)可選,如果給出,讀入hint行。
文件打開后,對文件的讀寫有一個讀取指針,當(dāng)從文件中讀入內(nèi)容后,讀取指針將向前進,再次讀取的內(nèi)容將從指針的新位置開始。
f.seek(offset): 改變當(dāng)前文件操作指針的位置,offset的值:0:文件開頭;2:文件結(jié)尾
從文本文件中逐行讀入內(nèi)容并進行處理是一個基本的文件操作需求。文本文件可以看成是由行組成的組合類型,因此,可以使用遍歷循環(huán)逐行遍歷文件。
f.write(s): 向文件寫入字符串s,每次寫入后,將會記錄一個寫入指針。該方法可以反復(fù)調(diào)用,將在寫入指針后分批寫入內(nèi)容,直至文件被關(guān)閉。
f.writelines(lines):直接將列表類型的各元素連接起來寫入文件f。
文件讀寫操作相關(guān)的函數(shù)都會自動改變文件指針的位置。

文件路徑:絕對路徑、相對路徑
二、數(shù)據(jù)組織的維度
數(shù)據(jù)組織可以分為:一維數(shù)據(jù)、二維數(shù)據(jù)和高維數(shù)據(jù)
一維數(shù)據(jù):由對等關(guān)系的有序或無序數(shù)據(jù)構(gòu)成,采用線性方式組織,對應(yīng)于數(shù)學(xué)中數(shù)組的概念。
例: 北京、上海、天津、重慶
二維數(shù)據(jù):也稱為表格數(shù)據(jù),由關(guān)聯(lián)關(guān)系數(shù)據(jù)構(gòu)成,采用二維表格方式組織,對應(yīng)數(shù)學(xué)中的矩陣。

高維數(shù)據(jù):高維數(shù)據(jù)由鍵值對類型的數(shù)據(jù)構(gòu)成,采用對象方式組織,可以多層嵌套
高維數(shù)據(jù)在Web系統(tǒng)中十分常見,作為當(dāng)今Internet組織內(nèi)容的主要方式,高維數(shù)據(jù)衍生出HTML、XML、JSON等具體數(shù)據(jù)組織的語法結(jié)構(gòu)。
以JSON為例:

三、一維數(shù)據(jù)的處理
?一維數(shù)據(jù)的表示
在Python中主要采用列表形式表示。
例如中國的直轄市可以采用一個列表變量表示
?一維數(shù)據(jù)的存儲
總體思路是采用特殊字符分隔各數(shù)據(jù)。

CSV格式(逗號分隔值)
一種通用的、相對簡單的文件格式,存儲的文件一般采用.csv為擴展名。一維數(shù)據(jù)保存為CSV格式后,各元素采用逗號分隔,形成一行,這里的逗號是英文逗號
四、二維數(shù)據(jù)的處理
?二維數(shù)據(jù)的表示:
二維數(shù)據(jù)由多個一維數(shù)據(jù)構(gòu)成,可以看作是一維數(shù)據(jù)的組合形式,因此二維數(shù)據(jù)可以采用二維列表來表示,即列表的每個元素對應(yīng)二維數(shù)據(jù)的一行。


注:二維數(shù)據(jù)一般采用相同的數(shù)據(jù)類型存儲數(shù)據(jù),便于操作
?二維數(shù)據(jù)的存儲:
用CSV格式文件存儲,CSV文件的每一行是一維數(shù)據(jù),整個CSV文件是一個二維數(shù)據(jù)。