Python3中檔案處理

覆手為雲p發表於2017-06-23

1、txt,xls,doc等檔案的使用

       f=open(“filename”,”w”)   開啟一個用於寫入的檔案,要寫入內容時使用f.write(“內容”)
       f=open(“filename”,”r”)         開啟一個用於讀的檔案,讀時使用f.read(),返回讀取的到的字串;
       f=open(“filename”,”a”)        開啟的檔案既可用於讀,也可用於寫;

注:以上方式開啟的檔案讀取出來的內容是字串,寫入的時候也必須全都是字串;

 

2、pickle模組

pickle提供了從python程式中儲存資料最簡單的方法,原理是直接將資料以二進位制進行儲存,可以將資料原封不動的儲存和讀取;但如果載入不可信源有安全危險;

以gzip壓縮的檔案都以一個特定的魔數引導。

f=open(filename,"wb")  #讀取用"rb",追加用"ab",還有"rb+","wb+","ab+"表示可讀可寫;

pickle.dump(data,fh,pickle.HIGHEST_PROTOCOL)#pickle檔案的寫入方法

讀取可用pickle.load(fh)

 

3、檔案物件屬性與方法

 1 f.close()      關閉檔案物件f,並將屬性f.close設定為True;
 2 f.close        檔案已關閉,則返回True;
 3 f.encoding     byte與str之間進行轉換時使用的編碼;
 4 f.fileno()     返回底層檔案的檔案描述符;
 5 f.flush()      清空檔案物件;
 6 f.isatty()     如果檔案物件與控制檯關聯,就返回True;
 7 f.mode         檔案物件開啟時使用的模式;
 8 f.name         檔案物件f的檔名(如果有);
 9 f.newlines     文字檔案f中的換行字串的型別;
10 f.__next__()   返回檔案物件f的下一行;
11 f.peek(n)      返回n個位元組,而不移動檔案指標的位置;
12 f.readable()   如果f已經開啟等待讀取,則返回True;
13 f.read(count)  檔案物件f中讀取至多count個位元組,如果沒有指定count,就讀取從當前檔案指標直到最後的每個位元組,以二進位制模式時,返回bytes物件;以檔案模式時,返回str物件;
14 f.readinto(ba) 將至多len(ba)個位元組讀入到bytearray ba中,並返回讀入位元組數,如果在檔案結尾,就為0;
15 f.readline(count)      讀取下一行,包括\n;
16 f.readlines(sizehint)     讀入到檔案結尾之前的所有行,並以列表形式返回;
17 f.seek(offset,whence)     如果沒有給定whence,或其為os.SEEK_SET,就按給定的offset移動檔案指標...
18 f.seekable()    如果f支援隨機存取,就返回True;
19 f.tell()      返回當前指標位置;
20 f.truncate(size)擷取檔案到當前檔案指標所在位置,如果給定size,就到size大小處;
21 f.writable()    如果f是為寫操作而開啟的,就返回True;
22 f.write(s)      將文字物件s寫入到檔案;
23 f.writelines(seq)將物件序列寫入到檔案;

 

相關文章