计算文本文件的行数并显示读取的行百分比(Python)

时间:2015-03-02 13:56:31

标签: python python-2.7

我编写的程序使用文本文件的值进行一些计算并打印结果。但另外我希望看到它经过的文本文件的百分之几

我的文本文件有629行,所以我希望我的程序计算行数,将它们除以629,然后将它们乘以100并继续显示它已经通过的总行数的百分之几。但是我该怎么做?

我试过了:

num_lines = sum(1 for line in open('myfile.txt'))
percentage = 100*num_lines / 629
print percentage, '%'

但是当它已经通过整个文本文件时它只返回'100%',但我希望它从0%开始然后进展到100%

我是python的新手,我真的很感激任何帮助。

1 个答案:

答案 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, '%'