2015-03-02 100 views
0

我編寫的程序使用文本文件的值進行了一些計算並打印結果。但是,除此之外,我想看看它已經經歷了多少百分比的文本文件計算文本文件的行數並顯示讀取行的百分比(Python)

我的文本文件有629行,所以我想讓我的程序對行進行計數,將它們除以629,然後將它們乘以100,並繼續向我顯示它已經通過的行數的百分之多少。但我該怎麼做?

我想:

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

但隨後它只返回我'100%'時,它已經在整個文本文件已經走了,但我想它開始爲0%,然後發展到100%

我是新來的蟒蛇,我真的很感激任何幫助。

+0

所以,你想知道在您剛剛打開解析文件的行數? 如果不進行單獨的文件傳遞之前,這將是困難的,只是爲了計算行數。 由於行更改可以在文件中的任何位置,您必須搜索整個文件。更簡單的方法是計算_bytes read_與_filesize_的百分比。這可以在沒有額外閱讀的情況下完成。 – Nippey 2015-03-02 14:01:54

回答

0

爲了提高@Peter伍德的回答

# 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, '%'