我编写的程序使用文本文件的值进行一些计算并打印结果。但另外我希望看到它经过的文本文件的百分之几。
我的文本文件有629行,所以我希望我的程序计算行数,将它们除以629,然后将它们乘以100并继续显示它已经通过的总行数的百分之几。但是我该怎么做?
我试过了:
num_lines = sum(1 for line in open('myfile.txt'))
percentage = 100*num_lines / 629
print percentage, '%'
但是当它已经通过整个文本文件时它只返回'100%'
,但我希望它从0%开始然后进展到100%
。
我是python的新手,我真的很感激任何帮助。
答案 0 :(得分:0)
提升@Peter Wood的答案
# get total lines of the input file
def file_len(fname):
with open(fname) as f:
for i, l in enumerate(f):
pass
return i + 1
f = 'file.txt'
total = file_len(f)
num_lines = 0
for line in open(f):
num_lines += 1
percentage = 100 * num_lines / total
print percentage, '%'