我正在尝试编写一个带有三个参数的函数:file1,file2和new_file,并将file1和file2的内容写入new_file。
例如,如果我有文件,txt1,txt2:
txt1包含“Hello world!”
txt2包含“你能听见我吗?”
...并调用函数
combine_files(file1, file2, new_file)
new_file应包含“Hello word!你能听见我吗?”
我的功能不应该返回任何内容。
我目前的代码看起来像这样,我相信它远非任何方式:
def combine_files(file1, file2, new_filename):
file1 = "part1.txt"
file2 = "part2.txt"
new_filename = "result.txt"
text1 = open(file1).read()
text2 = open(file2).read()
text3 = open(new_filenane, "a")
text3.write(text1 + text2)
答案 0 :(得分:1)
这是使用上下文管理器的简单方法:
def combine_files(file1, file2, new_filename):
with open(new_filename, 'w') as new_file:
for file in [file1, file2]:
with open(file, 'r') as original_file:
new_file.write(original_file.read())
上下文管理器使您不必跟踪打开的文件,并记住自己关闭它们。