Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (47.6k points)

I need to get a line count of a large file (hundreds of thousands of lines) in python. What is the most efficient way both memory- and time-wise?

At the moment I do:

def file_len(fname):

      with open(fname) as f:

           for i, l in enumerate(f): 

                 pass 

return i + 1

is it possible to do any better?

1 Answer

0 votes
by (106k points)

The fastest and one-liner, a solution which is also an efficient way to count lines and it takes less memory and time is as follows:-

num_lines = sum(1 for line in open('myfile.txt'))

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...