Python學習——輸入輸出

輸入輸出

 

  • 文件

        你可以通過創建一個file類的對象來打開一個文件,分別使用file類的read、readline或write方法來恰當地讀寫文件。對文件的讀寫能力依賴於你在打開文件時指定的模式。最後,當你完成對文件的操作的時候,你調用close方法來告訴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()

        輸出:

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模塊。
        儲存與取儲存例子如下:

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

        輸出:

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章