Python读取文本文件

时间:2018-10-12 14:06:06

标签: python

我正在使用Python为我的OCR GCSE项目编写一些代码。

任务13a指出:

编写一个程序,该程序从文件中读取数字列表,然后输出平均值。 因此,如果您的文件包含 3 45 83 21 您的程序将输出:38

到目前为止,除了打开文本文件并读取数字的代码之外,我还知道所有其他代码。

花了30分钟左右的时间进行研究后,我终于开始工作了,但我确实需要一些帮助。

欢迎任何建议/代码/评论:)

3 个答案:

答案 0 :(得分:0)

当您提到这对家庭作业有帮助时,周围的人不喜欢。此解决方案一次读取一个字节的文件。使用流处理平均值计算主要是一个有趣的借口。据推测,这应该是非常高效的内存。

def new_avg(avg, x, n):
    return float((avg * n + x) / (n + 1))

with open('file.txt', 'r') as file:
    num, avg, n = "", 0, 0
    for i in iter(lambda: file.read(1), ""):
        if i == " ":
            avg = new_avg(avg, int(num), n)
            num = ""
            n += 1
        else:
            num += i
    avg = new_avg(avg, int(num), n)
    print(avg)

答案 1 :(得分:0)

with open('file.txt', 'r') as f:
    t = f.readline().split(' ')
print(sum(t)/len(t))

答案 2 :(得分:0)

要读取文件,您可以使用-

file = open('file.txt', 'r') as cards: 

然后创建一个包含所有可以使用的行的列表-

file = file.read().split("\n") # Create a list containing all lines

记得完成后关闭文件

file.close()