写入文件

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 函数会自动添加换行符。