在Python中,我们通常需要将一些数据写入文件,如记录日志、保存用户配置项等。而当数据量较大时,通常采用逐行写入或一次性写入的方式会造成效率很低的问题。而使用writelines()方法,则是一种写入多行数据的高效方法。
writelines()是Python内置的文件对象方法,用于将多个字符串写入文件。它需要一个字符串列表作为参数,每个字符串是要写入文件的一行内容,最后将它们一起写入文件。
with open("test.txt","w") as f: f.writelines(["Hello\n","World\n"])
运行以上代码,会在当前路径下生成一个名为test.txt的文件。它的内容为:
Hello World
首先,需要明确的是writelines()方法只适用于写入多个字符串,如果只需要写入一个字符串,还是需要用write()方法。
writelines()方法通常适用于以下场景:
writelines()方法相对于逐行写入或一次性写入,有以下几个优势:
在使用writelines()方法时,需要注意以下几点:
# 使用生成器表达式读取文件,避免一次性加载大文件到内存中 with open("large_file.txt", "r") as fp: lines = (line for line in fp if "keyword" in line) # 拼接字符串后写入文件 with open("new_file.txt", "w") as fp: fp.writelines(line.strip()+"\t1\n" for line in lines)
标签: sublime