求和两个文本文件

时间:2017-03-25 15:33:55

标签: python loops text-files

我需要逐行浏览2个文本文件并对行进行求和,然后需要在第三个文本文件中返回。

所以如果file1是......

4
2
1

和file2是......

3
2
1

file3是......

7
4
2

我想我想使用for循环来读取第一个文件和readline()以从第二个文件中获取数字,但总结和编写新文件正在让我。到目前为止,这是我不那么出色的方法。

myfile = open(file1)
myfile2 = open(file2)
for line in file1:
    p = int(line) +  int(myfile2.readlines())
    f = open(newFile,"w")
    f.write(p)
file1.close()
file2.close()
f.close()

3 个答案:

答案 0 :(得分:2)

您需要单独阅读这两个文件,然后使用this将元素从字符串转换为map,然后使用with open("file1.txt", "r") as f1, open("file2.txt", "r") as f2, open("file3.txt", "w") as f_out: num_sum = map(sum, zip(map(int, f1.readlines()), map(int, f2.readlines()))) f_out.write("\n".join(map(str, num_sum))) 将它们相加为:

{{1}}

答案 1 :(得分:1)

你可以试试这个:

f = open(file1)
b = open(file2)
sum_list = []
list1 = []
list2 = []
for i in f:
   list1.append(int(i))

for i in b:
    list2.append(int(i))

for i in range(len(list1)):
     sum_list.append(list1[i]+list2[i])

a = open(file3, 'w')

for i in sum_list:
     a.write(str(i))
     a.write('\n')

这个程序稍微长一点,但说明了没有zip()解决问题的方法。

答案 2 :(得分:0)

使用zip built-in function,您可以一次迭代两个文件并写入第三个文件:

created() {
  this.getPageData()
},