繁体   English   中英

Python读取文本文件

[英]Python read a text file

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

任务 13a 指出:

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

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

在花了 30 分钟左右的研究时间后,我有点让它工作了,但我真的需要一些帮助。

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

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

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)
with open('file.txt', 'r') as f:
    t = f.readline().split(' ')
print(sum(t)/len(t))

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

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

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

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

完成后记得关闭文件

file.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM