文章目錄
Python中檔案操作可以通過open函數,這的確很像C語言中的fopen。通過open函數擷取一個file object,然後調用read(),write()等方法對檔案進行讀寫操作。
1.open
使用open開啟檔案後一定要記得調用檔案對象的close()方法。比如可以用try/finally語句來確保最後能關閉檔案。file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
註:不能把open語句放在try塊裡,因為當開啟檔案出現異常時,檔案對象file_object無法執行close()方法。
2.讀檔案讀文字檔input = open('data', 'r')
#第二個參數預設為r
input = open('data')
讀二進位檔案input = open('data', 'rb')
讀取所有內容file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
讀固定位元組file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_object.close( )
讀每行list_of_all_the_lines = file_object.readlines( )
如果檔案是文字檔,還可以直接遍曆檔案對象擷取每行:for line in file_object:
process line
3.寫檔案寫文字檔output = open('data', 'w')
寫二進位檔案output = open('data', 'wb')
追加寫檔案output = open('data', 'w+')
寫資料file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
寫入多行file_object.writelines(list_of_text_strings)
注意,調用writelines寫入多行在效能上會比使用write一次性寫入要高。
Python 天天美味系列(總)
Python 天天美味(15) - PythonRegex操作指南(re使用)(轉)
Python 天天美味(16) - 過濾字串的技巧,map與itertools.imap
Python 天天美味(17) - open讀寫檔案
Python 天天美味(18) - linecache.getline()讀取檔案中特定一行
Python 天天美味(19) - 時間處理datetime
...