我有两个不同的文件A和B:
A= 5
2
3
4
6
78
..
B= 3
4
2
1
8
7
..
我需要计算两个文件的每个文件的乘法,我使用这段代码:
A_file=open(r'C:\Users\user\Desktop\New_folder\A.txt', 'r')
B_file = open(r'C:\Users\user\Desktop\New_folder\B.txt', 'r')
for a in A_file:
for line, b in enumerate(B_file):
#print b
print (a,'+',b)
c= int(a)*int(b)
print (c)
结果是:
('5\n', '+', '3\n')
15
('5\n', '+', '4\n')
20
('5\n', '+', '2\n')
10
('5\n', '+', '1\n')
5
('5\n', '+', '8\n')
40
('5\n', '+', '7')
35
但预测的结果是:
('5\n', '+', '3\n')
15
('2\n', '+', '4\n')
8
('3\n', '+', '2\n')
6
('4\n', '+', '1\n')
4
('6\n', '+', '8\n')
48
('78\n', '+', '7')
546
请问如何解决这个问题?
答案 0 :(得分:1)
使用setNames(cols, paste0("log_", cols))
并行浏览文件。
答案 1 :(得分:0)
考虑到文件长度相等
A_file=open(r'C:\Users\user\Desktop\New_folder\A.txt', 'r')
B_file = open(r'C:\Users\user\Desktop\New_folder\B.txt', 'r')
alist=[]
blist=[]
for each in A_file:
alist+=[int(each)]
for each in B_file:
blist+=[int(each)]
if len(alist)==len(blist):
for every in alist:
print (alist[every],'+',blist[every])
c= alist[every]+blist[every]
print (c)