檔案操作是程式設計中不可或缺的重要部分。Python通過一個內建函數open來開啟檔案。
open(filename,mode,buffer)
其中第一個參數是要開啟的檔案的檔案名稱,必選;第二個是開啟檔案,可選;第三個為緩衝區,可選。預設情況下是以“讀”模式開啟檔案。該函數返回的是流類型對象。
mode有如下幾種:
* r:讀模式(預設值)
* w:寫入模式
* a:追加寫入模式
* b:二進位模式
* t:文字模式(預設值)
* +:更新已有硬碟檔案(讀和寫入模式)
* U:通用換行模式(Universal new line mode)
如果到開啟的檔案不存在或者其他問題,會跑出IOError異常。
常用的檔案對象屬性:
* mode:檔案開啟模式
* name:開啟的檔案名稱
* closed:檔案是否關閉
常用的檔案對象方法有:
* tell():擷取在當前檔案中,目前所處的位置。起始值為0.
* seek(position,mode):在當前檔案中移動。其中第一個參數是要移動的距離,第二個參數是模式:0表示移動絕對位置,相對於檔案頭而言;1表示移動相對位置,就當前位置而言;2表示相對於檔案尾的位置。
* read(max_byte_num):從檔案中讀取位元組。max_byte_number為選擇性參數,表示讀取的最大位元組數。如果不選,預設為讀取到檔案尾。讀取後,當前位置會發生變化,即增加讀取的位元組數。
* readline():一次讀取檔案的一行。
* write(content):向檔案中寫資料。content為要寫入的內容。
* close():關閉檔案
一個檔案讀寫的例子:
view plaincopy to clipboardprint?
1. try:
2. f = open('d:/hello_python.txt','w')
3. f.write('hello my friend python!')
4. except IOError:
5. print('IOError')
6. finally:
7. f.close()
8.
9. try:
10. f = open('d:/hello_python.txt','r')
11. print(f.read())
12. f.close()
13. f.tell()
14. except ValueError as ioerror:
15. print('File alread closed {0}'.format(type(ioerror)))
16. finally:
17. print('operation end')