寫入檔案
with open('myfile.txt', 'w') as f:
f.write("Line 1")
f.write("Line 2")
f.write("Line 3")
f.write("Line 4")
如果你開啟 myfile.txt
,你會看到它的內容是:
1 號線 2Line 3Line 4
Python 不會自動新增換行符,你需要手動執行此操作:
with open('myfile.txt', 'w') as f:
f.write("Line 1\n")
f.write("Line 2\n")
f.write("Line 3\n")
f.write("Line 4\n")
1
號線 2
號線 3
號線 4 號線
在寫入以文字模式開啟的檔案時,不要使用 os.linesep
作為行終止符(預設值); 改用\n
。
如果要指定編碼,只需將 encoding
引數新增到 open
函式:
with open('my_file.txt', 'w', encoding='utf-8') as f:
f.write('utf-8 text')
也可以使用 print 語句寫入檔案。Python 2 與 Python 3 的機制不同,但概念是相同的,因為你可以將輸出到螢幕並將其傳送到檔案。
Python 3.x >= 3.0
with open('fred.txt', 'w') as outfile:
s = "I'm Not Dead Yet!"
print(s) # writes to stdout
print(s, file = outfile) # writes to outfile
#Note: it is possible to specify the file parameter AND write to the screen
#by making sure file ends up with a None value either directly or via a variable
myfile = None
print(s, file = myfile) # writes to stdout
print(s, file = None) # writes to stdout
在 Python 2 中你會做類似的事情
Python 2.x >= 2.0
outfile = open('fred.txt', 'w')
s = "I'm Not Dead Yet!"
print s # writes to stdout
print >> outfile, s # writes to outfile
與使用 write 函式不同,print 函式會自動新增換行符。