python程式設計——檔案操作

來源:互聯網
上載者:User

標籤:lines   except   sci   資料庫   value   1.2   use   文字檔   添加檔案   

分類

1.文字檔

儲存常規字串,由若干文本行組成,每行以分行符號‘\n‘結尾

2.二進位檔案

把對象以位元組串儲存,常見的圖形映像、可執行檔、資料庫檔案office文檔等

 1 #建立檔案 2 >>fw = open(‘sample.txt‘,‘w+‘,encoding=‘utf-8‘) 3 >>s = ‘文本讀取方式\n sample.txt w+\n‘ 4 >>fw.write(s) 5 >>fw.close() 6 #查看sample.txt 7 文本讀取方式 8  sample.txt w+ 9 10 #建議形式,關鍵字with可以自動管理資源11 >>s = ‘文本讀取方式\n sample.txt w+\n‘12 >>with open(‘sample.txt‘,‘w+‘,encoding=‘utf-8‘) as fw:13 >>        fw.write(s)14 # 判斷檔案對象是否關閉15 >>fw.colsed16 True17 18 #添加檔案內容19 >>s = ‘hello\n‘20 >>with open(‘sample.txt‘,‘a+‘,encoding=‘utf-8‘) as fa:21 >>        fa.write(s)22 文本讀取方式23  sample.txt w+24 hello25 26 # 讀取檔案內容27 # 讀取一行28 >>fread = open(‘sample.txt‘,‘r‘,encoding=‘utf-8‘)29 >>fread.readline()30 ‘文本讀取方式\n‘31 >>fread.readline()32 ‘ sample.txt w+\n‘33 >>fread.readline()34 ‘hello\n‘35 36 # 一次讀取所有行37 >>fread = open(‘sample.txt‘,‘r‘,encoding=‘utf-8‘)38 >>fread.readlines()39 [‘文本讀取方式\n‘, ‘ sample.txt w+\n‘, ‘hello\n‘]40 41 #讀取固定字元個數42 >>fread = open(‘sample.txt‘,‘r‘,encoding=‘utf-8‘)43 >>fread.read(4)44 ‘文本讀取‘
45 >>fread.close()

可以使用dir() 查看與對象相關的方法,使用help()查看方法的用法

1 >>fread = open(‘sample.txt‘,‘r‘,encoding=‘utf-8‘)2 >>fread.colse()3 >>dir(fread)4 #查看read()函數用法5 >>help(fread.read)

檔案序列化

序列化,就是把記憶體中的資料在不遺失資料類型的情況下,轉化為二進位形式的過程

1.使用pickle模組

Pickle是常用並且快速的二進位檔案序列化模組

 1 #使用pickle dump依次寫入二進位檔案 2 import pickle 3 f = open(‘sample_pickle.dat‘,‘wb‘) 4  5 alist = [[2,3,4],[6,7,8]] 6 aset = {‘a‘,‘b‘,‘c‘} 7 atuple = (-5,-3,-1) 8 astr = ‘北京歡迎你,welcome!‘ 9 adic = {‘name‘:‘jin‘,‘sex‘:None}10 try:11     pickle.dump(alist,f)12     pickle.dump(aset,f)13     pickle.dump(atuple,f)14     pickle.dump(astr,f)15     pickle.dump(adic,f)16 except:17     print(‘write error‘)18 finally:19     f.close()20 21 #使用Pickle load依次讀取二進位檔案22 fr = open(‘sample_pickle.dat‘,‘rb‘)23 try:24     x=pickle.load(fr)25     print(x)26     x=pickle.load(fr)27     print(x)28     x=pickle.load(fr)29     print(x)30     x=pickle.load(fr)31     print(x)32     x=pickle.load(fr)33     print(x)34 except:35     print(‘read error‘)36 finally:37     fr.close()

2.使用struct模組

 1 import struct 2 import binascii 3   4 values = (1, b‘good‘, 1.22) #字串必須為位元組流類型 5 s = struct.Struct(‘I4sf‘) 6 packed_data = s.pack(*values) #序列解包 7 unpacked_data = s.unpack(packed_data) 8    9 print(‘Original values:‘, values)10 print(‘Format string :‘, s.format)11 print(‘Uses :‘, s.size, ‘bytes‘)12 print(‘Packed Value :‘, binascii.hexlify(packed_data))13 print(‘Unpacked Type :‘, type(unpacked_data), ‘ Value:‘, unpacked_data)14 15 out:16 Original values: (1, b‘good‘, 1.22)17 Format string : b‘I4sf‘18 Uses : 12 bytes19 Packed Value : b‘01000000676f6f64f6289c3f‘20 Unpacked Type : <class ‘tuple‘>  Value: (1, b‘good‘, 1.2200000286102295)

 

python程式設計——檔案操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.