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一次性寫入要高。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rU 或 Ua 以讀方式開啟, 同時提供通用分行符號支援 (PEP 278)
w 以寫方式開啟 (必要時清空)
a 以追加模式開啟 (從 EOF 開始, 必要時建立新檔案)
r+ 以讀寫入模式開啟
w+ 以讀寫入模式開啟 (參見 w )
a+ 以讀寫入模式開啟 (參見 a )
rb 以二進位讀模式開啟
wb 以二進位寫入模式開啟 (參見 w )
ab 以二進位追加模式開啟 (參見 a )
rb+ 以二進位讀寫入模式開啟 (參見 r+ )
wb+ 以二進位讀寫入模式開啟 (參見 w+ )
ab+ 以二進位讀寫入模式開啟 (參見 a+ )
a. Python 2.3 中新增
原文連結: http://blog.sina.com.cn/s/blog_4ef8be9f0100gdax.html