Hi there,
how can I read a file line by line till the 150th line?
I mean, I know the

for line in f:

but I want to read only (let's say) 150 lines of the f file.

Thanks a lot

This will do it.

with open('file_in.txt') as f:
    for numb,line in enumerate(f, 1):
        if 1 <= numb <= 150:
            print line

Another way is

from itertools import islice

with open(filename) as lines:
    for line in islice(lines, 0, 150):
        # ...

When you want to write [:150] and you can't, use islice(., 0, 150), that's the trick.

Edited 5 Years Ago by Gribouillis: n/a

Thanks, it worked! (I used the first solution in order not to import another library to my script).

What if I have to read a file which is online?
Let's say that I have a file like
text.txt
"hello world!"

and this file is in

http://url.to.file.com/subfolder/text.txt

How can I grab and use the text "hello world!" in my script?
Thanks again

Thanks, it worked! (I used the first solution in order not to import another library to my script).

What if I have to read a file which is online?
Let's say that I have a file like
text.txt
"hello world!"

and this file is in

http://url.to.file.com/subfolder/text.txt

How can I grab and use the text "hello world!" in my script?
Thanks again

You have to use urllib2

fileobj = urllib2.urlopen("http://url.to.file.com/subfolder/text.txt")

You can also use urllib.urlretrieve() to download the file locally first.

Edited 5 Years Ago by Gribouillis: n/a

This article has been dead for over six months. Start a new discussion instead.