阅读文本文件

时间:2017-08-24 23:23:18

标签: python text text-files

我有这个代码将随机数写入文本文件:

import random
members = 5
participants=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
random.shuffle(participants)
with open("myfile1.txt",'w') as tf:
    for i in range(len(participants) // members + 1):
         group = participants[i*members:i*members + members]
         for participant in group:
            tf.write(str(participant))
            tf.write("\n")

我试图用它来总结它给我的随机数

import numpy
data = numpy.loadtxt("myfile1.txt")
def MA1001():
    return(data[0:,0].sum())

然而,它给了我“太多的数组索引”错误? 有没有办法解决这个问题,还是有更好的方法? 谢谢!

3 个答案:

答案 0 :(得分:2)

不是100%确定你想要实现的目标,但是:你在文件中每行写一个数字,而loadtext将返回一个数组(shape(20,))。因此,data.sum()就足够了。没有第二个维度。

答案 1 :(得分:1)

with open('myfile1.txt','r') as file:
    print (sum(map(int,file.read().splitlines())))

你可以试试这个没有numpy

答案 2 :(得分:1)

如果您想使用numpy,只需执行以下操作:

#!/usr/bin/env python

import numpy as np

data = np.loadtxt("myfile1.txt")
def MA1001(data):
    print(data.sum())

MA1001(data)