假设我有一个文件(例如 file1.txt),其中的数据大约为 3mb 或更多。如果我想将此数据写入第二个文件(例如 file2.txt),以下哪种方法会更好?
使用语言:Python 2.7.3
方法 1:
file1_handler = file("file1.txt", 'r')
for lines in file1_handler:
line = lines.strip()
# Perform some operation
file2_handler = file("file2.txt", 'a')
file2_handler.write(line)
file2_handler.write('\r\n')
file2_handler.close()
file1_handler.close()
方法 2:
file1_handler = file("file1.txt", 'r')
file2_handler = file("file2.txt", 'a')
for lines in file1_handler:
line = lines.strip()
# Perform some operation
file2_handler.write(line)
file2_handler.write('\r\n')
file2_handler.close()
file1_handler.close()
我认为方法二会更好,因为您只需打开和关闭 file2.txt 一次。你说呢?
请您参考如下方法:
使用with ,它会自动为您关闭文件:
with open("file1.txt", 'r') as in_file, open("file2.txt", 'a') as out_file:
for lines in in_file:
line = lines.strip()
# Perform some operation
out_file.write(line)
out_file.write('\r\n')
使用 open 而不是 file,file 已弃用。
当然在file1的每一行都打开file2是不合理的。
