📜  Python中write()和writelines()函数的区别(1)

📅  最后修改于: 2023-12-03 15:19:23.045000             🧑  作者: Mango

Python中write()writelines()函数的区别

在Python中,我们可以使用write()writelines()函数来向文件中写入数据。这两个函数在功能上略有不同,并在使用方式和效率上有所区别。

1. write()函数

write()函数用于向文件中写入字符串数据。它的语法如下:

file.write(str)

其中,file是文件对象,str是要写入文件的字符串。

  • 如果文件不存在,write()函数会创建一个新的文件。
  • 如果文件已存在,write()函数会覆盖原有内容并写入新的字符串。

write()函数会将数据写入文件的当前位置,然后将文件指针移动到写入的末尾。下一次调用write()函数时,将从该位置继续写入。

例子

下面是一个使用write()函数向文件中写入数据的例子:

file = open("example.txt", "w")
file.write("Hello, world!")
file.close()
2. writelines()函数

writelines()函数用于向文件中写入字符串序列。它的语法如下:

file.writelines(sequence)

其中,file是文件对象,sequence是要写入文件的字符串序列。sequence可以是列表、元组或其他可迭代对象,每个字符串将被写入到文件中。

  • 如果文件不存在,writelines()函数会创建一个新的文件。
  • 如果文件已存在,writelines()函数会覆盖原有内容并写入新的字符串序列。

write()函数不同的是,writelines()函数不会自动在每个字符串的末尾添加换行符。如果需要换行,需要在字符串中自行添加。

writelines()函数会一次性将整个序列写入文件,相比于多次调用write()函数,它在一些情况下可能更高效。

例子

下面是一个使用writelines()函数向文件中写入数据的例子:

file = open("example.txt", "w")
file.writelines(["Hello, ", "world!"])
file.close()
总结
  • write()函数用于向文件中写入字符串数据,适合逐个字符串写入的场景。
  • writelines()函数用于向文件中写入字符串序列,适合一次性写入多个字符串的场景。
  • 在性能方面,writelines()函数可能更高效一些,避免了多次文件操作的开销。
  • 需要注意的是,在使用这两个函数写入数据之后,需要调用close()函数来关闭文件,以确保数据被正确写入并将缓冲区内容刷新到磁盘。

希望本文能帮助你理解和正确使用write()writelines()函数!