对python中不同文件的元素求和

对python中不同文件的元素求和,python,Python,我有多个同名文件(只更改后缀)。我想将新文件中文件的值相加。例如:文件energy.dat.1包含矩阵格式的值,文件energy.dat.2具有相同的格式,但有另一个值 例如: energy.dat.1file constants([[1,2],[3,4]]) energy.dat.2file constants([[0,1],[1,3]]) 我想获得另一个值,total_energy,它包含总和的结果(即:([[1,3],[4,7]])) 因为我做了很多文件: for file_name i

我有多个同名文件(只更改后缀)。我想将新文件中文件的值相加。例如:文件
energy.dat.1
包含矩阵格式的值,文件
energy.dat.2
具有相同的格式,但有另一个值

例如:

energy.dat.1
file constants
([[1,2],[3,4]])

energy.dat.2
file constants
([[0,1],[1,3]])

我想获得另一个值,
total_energy
,它包含总和的结果(即:
([[1,3],[4,7]])


因为我做了很多文件:

for file_name in os.listdir('.'):
    if file_name[0:10] == "energy.dat":
        total_energy = total_energy +
                  np.sum(
                     np.loadtxt(file_name)
                  )
(之前我用正确的维度定义了数组
total_energy
。问题:结果
total_energy
,是一个矩阵,其值等于文件中所有元素的总和(
([[13,13],[13,13]])
),而不是(
([[1,3],[4,7]])

你有什么想法来达到我想要的结果吗


谢谢

我不是numpy专家,但你不能省略np.sum部分吗?你是对的!。我想这更容易。非常感谢。也许if块可以重构为
total_energy+=np.sum(np.loadtxt(file_name))
——看起来是多余的,使总和增加一倍,这很难;如果
np.sum()
是可消耗的,那么只需
total_energy+=np.loadtext(filename)
就可以了?PD:内置Python的观点,从未使用过
np
库(我甚至不知道它存在),也不是做
os.listdir
,然后检查前缀以匹配
energy.dat
,只使用
glob.glob
,例如
作为glob.glob('energy.dat*')中的文件名: