在一个语句中写入文件是否比多个语句更有效?

时间:2018-09-21 08:18:15

标签: python python-3.x performance

我正在运行的循环将大约10000行写入文件。我一直在搜索,但找不到在写入语句中连接字符串或使用多个写入语句是否更有效。即:

f = open(fileName,"w+")

for item in list:
    f.write(str1 + str2 + str3 + item + "\n\n")

f = open(fileName,"w+")

for item in list:
    f.write(str1)
    f.write(str2)
    f.write(str3)
    f.write(item)
    f.write("\n\n")

第一个或第二个选项效率更高吗?

我想这以前曾被问过,我以一种奇怪的方式问这个问题,所以如果有人能指出我正确的方向,那就太好了!

1 个答案:

答案 0 :(得分:2)

open方法的默认行为,当未指定缓冲模式时,将遵循通常是行缓冲的系统默认值。这意味着Python会针对找到的每个换行将输出刷新到文件中(即执行写操作)。

因此,在此示例中,我认为,就文件IO性能而言,这两个操作是等效的,因为换行符是最后输出的内容。