将行写入文件的正确方法?
如何在现代Python中向文件写入行?我听说这已被弃用:
print >>f, "hi there"
另外,是否适用于所有平台,或者我应该在Windows上使用?"\n"
"\r\n"
如何在现代Python中向文件写入行?我听说这已被弃用:
print >>f, "hi there"
另外,是否适用于所有平台,或者我应该在Windows上使用?"\n"
"\r\n"
这应该像这样简单:
with open('somefile.txt', 'a') as the_file:
the_file.write('Hello\n')
从文档中:
写入以文本模式打开的文件时,不要用作行终止符(默认值);在所有平台上使用单个代替。
os.linesep
'\n'
一些有用的阅读:
与
语句open()
'a'
用于追加或使用'w'
使用截断进行写入os
(特别是 os.linesep
)您应该使用自Python 2.6 +以来可用的函数print()
from __future__ import print_function # Only needed for Python 2
print("hi there", file=f)
对于 Python 3,您不需要 ,因为该函数是默认函数。import
print()
另一种方法是使用:
f = open('myfile', 'w')
f.write('hi there\n') # python will convert \n to os.linesep
f.close() # you can omit in most cases as the destructor will call it
引用Python文档中关于换行符的内容:
在输出时,如果换行符为“无”,则写入的任何字符都将转换为系统默认的行分隔符 。如果换行符是 ,则不会发生转换。如果换行符是任何其他合法值,则写入的任何字符都将转换为给定的字符串。
'\n'
os.linesep
''
'\n'