在python中写入文件至少有两种方式:
f = open(file, 'w')
f.write(string)
或
f = open(file, 'w')
print >> f, string # in python 2
print(string, file=f) # in python 3
这两者有区别吗?或者还有其他 Pythonic 吗?我正在尝试将一堆 HTML 写入文件,所以我需要通过我的文件编写一堆写/打印语句(但我不需要模板引擎)。
最佳答案
print
做了 file.write
不做的事情,允许您跳过一些基本操作的字符串格式化。
它在参数之间插入空格并附加行终止符。
print "a", "b" # prints something like "a b\n"
它调用对象的__str__
或__repr__
特殊方法将其转换为字符串。
print 1 # prints something like "1\n"
如果您使用 file.write
而不是 print
,则必须手动执行这些操作。
关于python - f.write 与打印 >> f,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8598228/