1,105,391 Community Members

selected lines from textfile

Member Avatar
giancan
Junior Poster in Training
70 posts since Oct 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Member Avatar
snippsat
Veteran Poster
1,041 posts since Aug 2008
Reputation Points: 483 [?]
Q&As Helped to Solve: 382 [?]
Skill Endorsements: 10 [?]
 
0
 

This will do it.

with open('file_in.txt') as f:
    for numb,line in enumerate(f, 1):
        if 1 <= numb <= 150:
            print line
Member Avatar
Gribouillis
Posting Maven
3,456 posts since Jul 2008
Reputation Points: 1,140 [?]
Q&As Helped to Solve: 884 [?]
Skill Endorsements: 18 [?]
Moderator
 
0
 

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.

Member Avatar
giancan
Junior Poster in Training
70 posts since Oct 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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

Member Avatar
Gribouillis
Posting Maven
3,456 posts since Jul 2008
Reputation Points: 1,140 [?]
Q&As Helped to Solve: 884 [?]
Skill Endorsements: 18 [?]
Moderator
 
0
 

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.

Member Avatar
giancan
Junior Poster in Training
70 posts since Oct 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Thanks again!

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
View similar articles that have also been tagged: