A Byte of Python 筆記(10)

來源:互聯網
上載者:User

標籤:

第12章  輸入/輸出

大多數情況下,我們需要程式與使用者互動。從使用者得到輸入,然後列印一些結果。

可以分別使用 raw_input 和 print 語句來完成這些功能。對於輸出,可以使用多種多樣的 str(字串)類。

另一個常用的輸入/輸出類型是處理檔案。建立、讀和寫檔案的能力是許多程式所必須的。

 

檔案

通過 file 類的對象來開啟一個檔案,使用 file 類的 read、readline 或 write 方法來恰當地讀寫檔案。對檔案的讀寫能力依賴於開啟檔案時指定的模式(模式可以為讀模式(‘r‘)、寫入模式(‘w‘)或追加模式(‘a‘))。最後完成對檔案的操作時,調用 close 方法完成對檔案的使用。

# -*- coding: utf-8 -*-# Filename: using_file.pypoem = ‘‘‘Programming is funWhen the work is doneif you wanna make your work also fun:    use Python!‘‘‘f = file(‘poem.txt‘, ‘w‘) # open for ‘w‘ritingf.write(poem) # write text to filef.close() # close the filef = file(‘poem.txt‘)# if no mode is specified, ‘r‘ead mode is assumed by defaultwhile True:    line = f.readline()    if len(line) == 0: # zero length indicates EOF        break    print line, # notice comma to avoid automatic newline added by Python
f.close()

首先,使用寫入模式開啟檔案,然後使用 file 類的 write 方法來寫檔案,最後用 close 關閉檔案。

接下來,再一次開啟同一個檔案來讀檔案。如果不指定模式,預設為讀模式。readline 方法讀取檔案的每一行,返回包括行末分行符號的一個完整行。當一個空的字串被返回時,表示檔案末已經到達。

最後,使用 close 關閉這個檔案。檔案讀到的內容已經以分行符號結尾,所以在 print 語句上使用逗號消除自動換行。

 

儲存器

python 提供一個標準的模組 pickle。可以在檔案中儲存任何 python 對象,之後可以把它完整無缺地取出來,被稱為 持久地 儲存對象。

另一個 cPickle,功能和 pickle 模組完全相同,用 C 語言編寫,比 pickle 快1000倍。

# -*- coding: utf-8 -*-# Filename: using_pickling.pyimport cPickle as p#import pickle as pshoplistfile = ‘shoplist.data‘# the name of the file where we will store the objectshoplist = [‘apple‘,‘mango‘,‘carrot‘]# write to the filef = file(shoplistfile, ‘w‘)p.dump(shoplist, f) # dump the object to a filef.close()del shoplist # remove the shoplist# read back from the storagef = file(shoplistfile)storedlist = p.load(f)print storedlist

首先,使用 import..as 文法,以便於使用更短的模組名稱。

儲存 過程:首先以寫入模式開啟一個 file 對象,然後調用儲存器模組的 dump 函數把對象儲存到開啟的檔案中。

取儲存 過程:使用 pickle 模組的 load 函數的返回來取回對象。

A Byte of Python 筆記(10)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.