1、開啟檔案,獲取檔案物件
圖中,只有b會報錯,windows路徑中可以接受斜線(/)和反斜線(\),不過在使用反斜線時要用雙反斜線進行轉義(\\),否則python會進行轉義,如\n。
這個地方最好結合with as 使用。
open函式返回乙個檔案物件,預設的引數是『rt』,即以唯讀的方式開啟文字。
引數有 r w a x,以w開啟,若當前目錄有檔案則會被覆蓋,最好使用x(若存在會丟擲異常)或a(在檔案末尾開啟),後面若有引數b,則是以二進位制開啟。
2、檔案物件的內建方法
f.read(size)
當size引數為空時,預設讀完,指定size後會讀到指定位置。其實這裡涉及到編碼的問題,漢字在不同的編碼方式下佔2-4個位元組,按理說當size取到乙個漢字中間的位元組位置時是不是應該會有異常?可啥也木有,正常讀出來了,什麼原因還沒搞懂,後面遇到了再填坑。
f.tell(),返回此時的檔案指標的位置。
f.seek(offset,from(0,1,2))
移動檔案指標,0代表檔案初,1代表當前位置,2代表末尾,從(0,1,2)移動offset個位置。
f.readline(),讀取一行。
f.close(),關閉檔案,最好讀寫完及時關閉,及時儲存。
f.write(),寫入內容,只能寫入str。
f.writelines(),寫入字串序列,注意也是str,若序列中有非str,則異常。
str.splite(a:b:c),額外記錄一下這個函式,分割a到b,分割次數為c,返回分割後的字串序列。
os,os.path 的使用
3、pickle二進位制使用
在上面提到了,write()和writelines()方法只能寫入字串或者字串序列,自然很不方便。這裡pickle可以先將要寫入的內容一股腦的轉換成二進位制扔進檔案,然後讀出來恢復原樣,簡直強無敵。
import pickle
pickle.dump(內容,檔案物件)
pickle.load(檔案物件)
使用時注意open皆需要使用b引數。
4、未解決的問題
與之前的漢字編碼相同,不懂unicode,utf-8,gbk相關聯的知識,只知道需要使用unicode中轉,可試了一下搜到的方法感覺都不得行,之後遇到實際的問題來填坑。
學習筆記 檔案系統
硬連線 硬連線不可以跨檔案系統。ln 原始檔 連線名 軟連線軟連線檔案和原始檔是兩個不同的檔案,軟連線是可以跨檔案系統,軟連線裡面存放的只是員檔案的路徑。ln s 原始檔 連線名 ln s tmp file cpfile lrwxrwxrwx.1 root root 14 apr 1 15 10 c...
學習筆記 Linux 檔案系統
linux 檔案系統 1 linux檔案系統也稱為樹狀結構 家族樹或倒置樹 由一系列相互關聯的檔案組成。該樹狀方便了檔案的組織和查詢。2 檔名 l 長度不超過255 l大寫,小寫,數字,下劃線,點,逗號 l 不要包含空格 l 注意不同系統間的共享檔名。windows 檔名 8.3 unix 檔名 1...
學習筆記之檔案系統
海納百川,有容乃大。計算機不但需要對資料進行處理,還需要對資料進行儲存。目前來說計算機可用來儲存資料的裝置大致可分為快取,記憶體,磁碟這三類。其中,快取讀取速度快,高,容量小 記憶體讀取速度中,中,容量中 磁碟讀取速度慢,低,容量大。磁碟雖然相較於其他兩者資料讀取速度最慢,但是它仍擁有 低,容量大的...