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