Python筆記(9)

來源:互聯網
上載者:User

Python中的檔案操作以及輸入輸出

我們可以分別使用raw_inputprint語句來完成這些功能。對於輸出,你也可以使用多種多樣的str(字串)類。例如,你能夠使用rjust方法來得到一個按一定寬度靠右對齊的字串。利用help(str)獲得更多詳情。

 

 

另一個常用的輸入/輸出類型是處理檔案。建立、讀和寫檔案的能力是許多程式所必需的,我們將會在這章探索如何?這些功能。

一.使用檔案

你可以通過建立一個file類的對象來開啟一個檔案,分別使用file類的readreadlinewrite方法來恰當地讀寫檔案。對檔案的讀寫能力依賴於你在開啟檔案時指定的模式。最後,當你完成對檔案的操作的時候,你調用close方法來告訴Python我們完成了對檔案的使用,在各方面,與C/C++類似。

#!/usr/bin/python<br /># Filename: using_file.py</p><p>poem = '''\<br />Programming is fun<br />When the work is done<br />if you wanna make your work also fun:<br /> use Python!<br />'''</p><p>f = file('poem.txt', 'w') # open for 'w'riting<br />f.write(poem) # write text to file<br />f.close() # close the file</p><p>f = file('poem.txt')<br /># if no mode is specified, 'r'ead mode is assumed by default<br />while True:<br /> line = f.readline()<br /> if len(line) == 0: # Zero length indicates EOF<br /> break<br /> print line,<br /> # Notice comma to avoid automatic newline added by Python<br />f.close() # close the file </p><p>

輸出為:

$ python using_file.py<br />Programming is fun<br />When the work is done<br />if you wanna make your work also fun:<br /> use Python! </p><p>

模式可以為讀模式('r')、寫入模式('w')或追加模式('a')。詳細情況可見help(file)

二.儲存空間

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

還有另一個模組稱為cPickle,它的功能和pickle模組完全相同,只不過它是用C語言編寫的,因此要快得多(比pickle快1000倍)。你可以使用它們中的任一個,而我們在這裡將使用cPickle模組。記住,我們把這兩個模組都簡稱為pickle模組。

例如:

#!/usr/bin/python<br /># Filename: pickling.py</p><p>import cPickle as p<br />#import pickle as p</p><p>shoplistfile = 'shoplist.data'<br /># the name of the file where we will store the object</p><p>shoplist = ['apple', 'mango', 'carrot']</p><p># Write to the file<br />f = file(shoplistfile, 'w')<br />p.dump(shoplist, f) # dump the object to a file<br />f.close()</p><p>del shoplist # remove the shoplist</p><p># Read back from the storage<br />f = file(shoplistfile)<br />storedlist = p.load(f)<br />print storedlist </p><p>

輸出為:

$ python pickling.py<br />['apple', 'mango', 'carrot'] </p><p>

相關文章

聯繫我們

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