Python的檔案操作

來源:互聯網
上載者:User

標籤:lis   通過   接下來   raw_input   print   str   python   讀檔案   類型   

在很多時候,你會想要讓你的程式與使用者(可能是你自己)互動。你會從使用者那裡得到輸入,然後列印一些結果。我們可以分別使用raw_input和print語句來完成這些功能。對於輸出,你也可以使用多種多樣的str(字串)類。例如,你能夠使用rjust方法來得到一個按一定寬度靠右對齊的字串。利用help(str)獲得更多詳情。另一個常用的輸入/輸出類型是處理檔案。建立、讀和寫檔案的能力是許多程式所必需的,我們將會在這章探索如何?這些功能。檔案你可以通過建立一個file類的對象來開啟一個檔案,分別使用file類的read、readline或write方法來恰當地讀寫檔案。對檔案的讀寫能力依賴於你在開啟檔案時指定的模式。最後,當你完成對檔案的操作的時候,你調用close方法來告訴Python我們完成了對檔案的使用。使用檔案f = file(‘e:/poem.txt‘,‘w‘)f.write(poem) # write text to filef.close() f = file(‘e:/poem.txt‘)while True:    line = f.readline()    if len(line) == 0:         break    print line,f.close() 輸出Programming is funWhen the work is doneif you wanna make your work also fun:        use Python! 它如何工作首先,我們通過指明我們希望開啟的檔案和模式來建立一個file類的執行個體。模式可以為讀模式(‘r‘)、寫入模式(‘w‘)或追加模式(‘a‘)。事實上還有多得多的模式可以使用,你可以使用help(file)來瞭解它們的詳情。我們首先用寫入模式開啟檔案,然後使用file類的write方法來寫檔案,最後我們用close關閉這個檔案。接下來,我們再一次開啟同一個檔案來讀檔案。如果我們沒有指定模式,讀模式會作為預設的模式。在一個迴圈中,我們使用readline方法讀檔案的每一行。這個方法返回包括行末分行符號的一個完整行。所以,當一個 空的 字串被返回的時候,即表示檔案末已經到達了,於是我們停止迴圈。注意,因為從檔案讀到的內容已經以分行符號結尾,所以我們在print語句上使用逗號來消除自動換行。最後,我們用close關閉這個檔案。現在,來看一下poem.txt檔案的內容來驗證程式確實工作正常了。儲存器Python提供一個標準的模組,稱為pickle。使用它你可以在一個檔案中儲存任何Python對象,之後你又可以把它完整無缺地取出來。這被稱為 持久地 儲存對象。還有另一個模組稱為cPickle,它的功能和pickle模組完全相同,只不過它是用C語言編寫的,因此要快得多(比pickle快1000倍)。你可以使用它們中的任一個,而我們在這裡將使用cPickle模組。記住,我們把這兩個模組都簡稱為pickle模組。儲存與取儲存import cPickle as pshoplistfile = ‘shoplist.data‘shoplist = [‘apple‘, ‘mango‘, ‘carrot‘]f = file(shoplistfile, ‘w‘)p.dump(shoplist, f) # dump the object to a filef.close()del shoplist f = file(shoplistfile)storedlist = p.load(f)print storedlist 輸出[‘apple‘, ‘mango‘, ‘carrot‘] 它如何工作首先,請注意我們使用了import..as文法。這是一種便利方法,以便於我們可以使用更短的模組名稱。在這個例子中,它還讓我們能夠通過簡單地改變一行就切換到另一個模組(cPickle或者pickle)!在程式的其餘部分的時候,我們簡單地把這個模組稱為p。為了在檔案裡儲存一個對象,首先以寫入模式開啟一個file對象,然後調用儲存器模組的dump函數,把對象儲存到開啟的檔案中。這個過程稱為 儲存 。接下來,我們使用pickle模組的load函數的返回來取回對象。這個過程稱為 取儲存 。

 

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.