简明python教程 --C++程序员的视角(六):输入输出IO
程序與用戶交互
?
- 你會從用戶那里得到輸入,然后打印一些結果。我們可以分別使用raw_input,input和print語句來完成這些功能。raw_input會返回字符串,而input會返回字面值,相當于eval(raw_input([promt])).
- 對于輸出,你也可以使用多種多樣的str(字符串)類。例如,你能夠使用rjust方法來得到一個按一定寬度右對齊的字符串。利用help(str)獲得更多詳情。
另一個常用的輸入/輸出類型是處理文件。創建、讀和寫文件的能力是許多程序所必需的,我們將會在這章探索如何實現這些功能。
?
文件
你可以通過創建一個file類的對象來打開一個文件,分別使用file類的read、readline或write方法來恰當地讀寫文件。對文件的讀寫能力依賴于你在打開文件時指定的模式。最后,當你完成對文件的操作的時候,你調用close方法來告訴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模塊。
如下主要是用法的演示,其中文件的打開的寫法應該如
try:
with open(shoplistfile,'w') as f:
p.dump(shoplist,f)
except IOEError as ioerr:
print "File error in (write to the file): " + str(ioerr)
?
首先,請注意我們使用了import..as語法。這是一種便利方法,以便于我們可以使用更短的模塊名稱。在這個例子中,它還讓我們能夠通過簡單地改變一行就切換到另一個模塊(cPickle或者pickle)!在程序的其余部分的時候,我們簡單地把這個模塊稱為p。
為了在文件里儲存一個對象,首先以寫模式打開一個file對象,然后調用儲存器模塊的dump函數,把對象儲存到打開的文件中。這個過程稱為?儲存。
接下來,我們使用pickle模塊的load函數的返回來取回對象。這個過程稱為?取儲存?。
---恢復內容結束---
在很多時候,你會想要讓你的程序與用戶(可能是你自己)交互。
- 你會從用戶那里得到輸入,然后打印一些結果。我們可以分別使用raw_input和print語句來完成這些功能。
- 對于輸出,你也可以使用多種多樣的str(字符串)類。例如,你能夠使用rjust方法來得到一個按一定寬度右對齊的字符串。利用help(str)獲得更多詳情。
另一個常用的輸入/輸出類型是處理文件。創建、讀和寫文件的能力是許多程序所必需的,我們將會在這章探索如何實現這些功能。
?
文件
你可以通過創建一個file類的對象來打開一個文件,分別使用file類的read、readline或write方法來恰當地讀寫文件。對文件的讀寫能力依賴于你在打開文件時指定的模式。最后,當你完成對文件的操作的時候,你調用close方法來告訴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模塊。
如下主要是用法的演示,其中文件的打開的寫法應該如
try:
with open(shoplistfile,'w') as f:
p.dump(shoplist,f)
except IOEError as ioerr:
print "File error in (write to the file): " + str(ioerr)
?
首先,請注意我們使用了import..as語法。這是一種便利方法,以便于我們可以使用更短的模塊名稱。在這個例子中,它還讓我們能夠通過簡單地改變一行就切換到另一個模塊(cPickle或者pickle)!在程序的其余部分的時候,我們簡單地把這個模塊稱為p。
為了在文件里儲存一個對象,首先以寫模式打開一個file對象,然后調用儲存器模塊的dump函數,把對象儲存到打開的文件中。這個過程稱為?儲存。
接下來,我們使用pickle模塊的load函數的返回來取回對象。這個過程稱為?取儲存?。
from:?http://www.cnblogs.com/wei-li/archive/2012/03/26/2417311.html
總結
以上是生活随笔為你收集整理的简明python教程 --C++程序员的视角(六):输入输出IO的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简明python教程 --C++程序员的
- 下一篇: 简明python教程 --C++程序员的