寫入檔案

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 函式會自動新增換行符。