Python學習——輸入輸出

來源:互聯網
上載者:User
輸入輸出

檔案

你可以通過建立一個file類的對象來開啟一個檔案,分別使用file類的read、readline或write方法來恰當地讀寫檔案。對檔案的讀寫能力依賴於你在開啟檔案時指定的模式。最後,當你完成對檔案的操作的時候,你調用close方法來告訴Python我們完成了對檔案的使用。
使用檔案例子如下:

Python代碼

poem = '''''\Programming is fun When the work is done if you wanna make your work also fun:use Python!'''  f = file('poem.txt', 'w')  f.write(poem)  f.close()  f = file('poem.txt')    while True:      line = f.readline()      if len(line) == 0:          break      print line,       f.close()

輸出:

Python代碼

Programming is fun  When the work is done  if you wanna make your work also fun:          use Python!

首先,可以通過指明我們希望開啟的檔案和模式來建立一個file類的執行個體。模式可以為讀模式('r')、寫入模式('w')或追加模式('a')。還有很多其它的模式可以使用,可以使用help(file)來瞭解它們的詳情。我們用寫入模式開啟檔案,然後使用file類的write方法來寫檔案,最後我們用close關閉這個檔案。
接下來,我們再一次開啟同一個檔案來讀檔案。如果我們沒有指定模式,讀模式會作為預設的模式。在一個迴圈中,我們使用readline方法讀檔案的每一行。這個方法返回包括行末分行符號的一個完整行。所以,當一個空的字串被返回的時候,即表示檔案末已經到達了,於是我們停止迴圈。
注意,因為從檔案讀到的內容已經以分行符號結尾,所以我們在print語句上使用逗號來消除自動
換行。
最後,我們用close關閉這個檔案。

儲存器

Python提供一個標準的模組,稱為pickle。使用它你可以在一個檔案中儲存任何Python對象,之後你又可以把它完整無缺地取出來。這被稱為持久地儲存對象。
還有另一個模組稱為cPickle,它的功能和pickle模組完全相同,只不過它是用C語言編寫的,因此要快得多(比pickle快1000倍)。你可以使用它們中的任一個,而我們在這裡將使用cPickle模組。記住,我們把這兩個模組都簡稱為pickle模組。
儲存與取儲存例子如下:

Python代碼

import cPickle as p    shoplistfile = 'shoplist.data'  shoplist = ['apple', 'mango', 'carrot']  f = file(shoplistfile, 'w')  p.dump(shoplist, f)  f.close()  del shoplist  f = file(shoplistfile)  storedlist = p.load(f)  print storedlist

輸出:

Python代碼

['apple', 'mango', 'carrot']

首先,請注意我們使用了import..as文法。這是一種便利方法,以便於我們可以使用更短的模組名稱。在這個例子中,它還讓我們能夠通過簡單地改變一行就切換到另一個模組(cPickle或者pickle)!在程式的其餘部分的時候,我們簡單地把這個模組稱為p。
為了在檔案裡儲存一個對象,首先以寫入模式開啟一個file對象,然後調用儲存器模組的dump函數,把對象儲存到開啟的檔案中。這個過程稱為儲存 。
接下來,我們使用pickle模組的load函數的返回來取回對象。這個過程稱為取儲存 。

  • 聯繫我們

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