<pre><code>#!/usr/bin/python
b_list = []
for l in range(1,4):
file=open('/Users/sgeorge/file%i.txt' % l, 'r')
m1=[(i.strip()) for i in file]
for j in m1:
b_list.append(filter(None,[(k.strip()) for k in j]))
#print b_list
a = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(0,9,3):
a[0][0] += int(b_list[i][0])
a[0][1] += int(b_list[i][1])
a[0][2] += int(b_list[i][2])
for i in range(1,9,3):
a[1][0] += int(b_list[i][0])
a[1][1] += int(b_list[i][1])
a[1][2] += int(b_list[i][2])
for i in range(2,9,3):
a[2][0] += int(b_list[i][0])
a[2][1] += int(b_list[i][1])
a[2][2] += int(b_list[i][2])
for j in a:
print j[0],j[1],j[2]
</code></pre>
<p><strong输出:</strong></p>
^{pr2}$
<p>上面的脚本只处理三个文件(<code>file1.txt</code>,<code>file2.txt</code>和{<cd3>})</p>
<p>如果要处理50个这样的文件,请使用以下命令:</p>
<pre><code>#!/usr/bin/python
b_list = []
for l in range(1,51):
file=open('/Users/sgeorge/file%i.txt' % l, 'r')
m1=[(i.strip()) for i in file]
for j in m1:
b_list.append(filter(None,[(k.strip()) for k in j]))
#print b_list
a = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(0,150,3):
a[0][0] += int(b_list[i][0])
a[0][1] += int(b_list[i][1])
a[0][2] += int(b_list[i][2])
for i in range(1,150,3):
a[1][0] += int(b_list[i][0])
a[1][1] += int(b_list[i][1])
a[1][2] += int(b_list[i][2])
for i in range(2,150,3):
a[2][0] += int(b_list[i][0])
a[2][1] += int(b_list[i][1])
a[2][2] += int(b_list[i][2])
for j in a:
print j[0],j[1],j[2]
</code></pre>
<p><strong>更新:</strong></p>
<pre><code>>>> a=1
>>> b=1.1
>>> type(a)
<type 'int'>
>>> type(b)
<type 'float'>
>>> float(a)+float(b)
2.1
>>>
</code></pre>
<p>上面的脚本不能处理<code>float</code>个数字。要处理相同的问题,请使用以下方法:</strong></p>
<pre><code>#!/usr/bin/python
b_list = []
for l in range(1,4):
file=open('/Users/sgeorge/file%i.txt' % l, 'r')
m1=[(i.strip()) for i in file]
for j in m1:
b_list.append(j.replace('\n','').split(' '))
#print b_list
a = [[0,0,0],[0,0,0],[0,0,0]]
for i in range(0,9,3):
a[0][0] += float(b_list[i][0])
a[0][1] += float(b_list[i][1])
a[0][2] += float(b_list[i][2])
for i in range(1,9,3):
a[1][0] += float(b_list[i][0])
a[1][1] += float(b_list[i][1])
a[1][2] += float(b_list[i][2])
for i in range(2,9,3):
a[2][0] += float(b_list[i][0])
a[2][1] += float(b_list[i][1])
a[2][2] += float(b_list[i][2])
for j in a:
print j[0],j[1],j[2]
</code></pre>
<p><strong输出:</strong></p>
<pre><code>$ python stack.py
9.0 6.0 6.0
4.0 11.0 8.0
12.0 11.0 13.0
</code></pre>