[英]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.