一般我們用Python寫一個將資料寫入檔案的程式長這樣:
f = open ("Test.txt", "w")
f.writelines (Lines)
f.close ()
有時候會想偷懶,用一行來解決:
open ("Test.txt", "w").writelines (Lines)
這樣也是可以,因為我們的python程式在結束時,會自動呼叫f.close (),這時候資料就會寫入檔案裡。可是這樣會有一個問題,若下面一行馬上做讀檔的動作,因為檔案沒有被close之前,會讀不出資料:
open ("Test.txt", "w").writelines (Lines)
Lines = open ("Test.txt").readlines ()
我們會發現Lines是空的。因為"Test.txt"沒有被close。Python 2.6支援with as語法,可以解決這個問題:
with open ("Test.txt", "w") as f:
f.writelines (Lines)
Lines = open ("Test.txt").readlines ()
在with as block結束之前,f.close ()會被自動呼叫,這樣一來,下面那一行的Lines就可以讀到資料了!
關於with as的更多說明,可以參考另一個網站:
f = open ("Test.txt", "w")
f.writelines (Lines)
f.close ()
有時候會想偷懶,用一行來解決:
open ("Test.txt", "w").writelines (Lines)
這樣也是可以,因為我們的python程式在結束時,會自動呼叫f.close (),這時候資料就會寫入檔案裡。可是這樣會有一個問題,若下面一行馬上做讀檔的動作,因為檔案沒有被close之前,會讀不出資料:
open ("Test.txt", "w").writelines (Lines)
Lines = open ("Test.txt").readlines ()
我們會發現Lines是空的。因為"Test.txt"沒有被close。Python 2.6支援with as語法,可以解決這個問題:
with open ("Test.txt", "w") as f:
f.writelines (Lines)
Lines = open ("Test.txt").readlines ()
在with as block結束之前,f.close ()會被自動呼叫,這樣一來,下面那一行的Lines就可以讀到資料了!
關於with as的更多說明,可以參考另一個網站:
http://openhome.cc/Gossip/Python/WithAs.html
-Count
本文介绍了一种使用Python进行文件写入的方法,并展示了如何利用with as语法确保文件正确关闭,以便立即进行读取操作。

被折叠的 条评论
为什么被折叠?



