Hi - I have a list returned from popen/readlines, and am wondering how to go about iterating over each item which was returned (rather than currently having the whole lot returned).
so far:
>>> f=os.open("./get_hostnames").readlines
returns ['host1 host2 host3 ... hostN\n]'
i'd like to be in a position to iterate through these, grabbing each host. I have played with transmuting to a str, and using split, and this works, but I get the subscript brackets from the list output as expected, as the list output is now a string literal, and this is not what I want - and I think it's a bit long-winded to do a search 'n replace on it - hence why I ask in the subject what's the best way.
> Hi - I have a list returned from popen/readlines, and am wondering how > to go about iterating over each item which was returned (rather than > currently having the whole lot returned).
> so far:
> >>> f=os.open("./get_hostnames").readlines
> returns ['host1 host2 host3 ... hostN\n]'
> i'd like to be in a position to iterate through these, grabbing each > host. I have played with transmuting to a str, and using split, and > this works, but I get the subscript brackets from the list output as > expected, as the list output is now a string literal, and this is not > what I want - and I think it's a bit long-winded to do a search 'n > replace on it - hence why I ask in the subject what's the best way.
> >>> f=str(f) > >>> f.split()
> ["['host1","host2", ... ,"hostN\n']"]
> Any help is highly appreciated
> ta
> dan.
Bring up the Google Ring. Where you only wiggle fingers, it might pay to get jobs at home. All we up here would have to do would be schedule something. Make a decision is easy in talking. I think it would be easy to centralize the time the world's at and redistribute money. If all we'd do is normal life, this constrained, open markets would be easy to set up. It's just illegal to talk about pricing in 2004 Microecon. classes.
> Hi - I have a list returned from popen/readlines, and am wondering how > to go about iterating over each item which was returned (rather than > currently having the whole lot returned).
> so far:
> >>> f=os.open("./get_hostnames").readlines
> returns ['host1 host2 host3 ... hostN\n]'
> i'd like to be in a position to iterate through these, grabbing each > host. I have played with transmuting to a str, and using split, and > this works, but I get the subscript brackets from the list output as > expected, as the list output is now a string literal, and this is not > what I want - and I think it's a bit long-winded to do a search 'n > replace on it - hence why I ask in the subject what's the best way.
En Tue, 13 May 2008 07:28:03 -0300, <dannywebs...@googlemail.com> escribió:
> Hi - I have a list returned from popen/readlines, and am wondering how > to go about iterating over each item which was returned (rather than > currently having the whole lot returned).
> so far:
>>>> f=os.open("./get_hostnames").readlines
> returns ['host1 host2 host3 ... hostN\n]'
You meant readlines(), I presume. A file acts as its own iterator:
f=os.open("./get_hostnames") try: for line in f: # do something with line finally: f.close()
> On May 13, 11:28 am, dannywebs...@googlemail.com wrote:
> > Hi - I have a list returned from popen/readlines, and am wondering how > > to go about iterating over each item which was returned (rather than > > currently having the whole lot returned).
> > so far:
> > >>> f=os.open("./get_hostnames").readlines
> > returns ['host1 host2 host3 ... hostN\n]'
> > i'd like to be in a position to iterate through these, grabbing each > > host. I have played with transmuting to a str, and using split, and > > this works, but I get the subscript brackets from the list output as > > expected, as the list output is now a string literal, and this is not > > what I want - and I think it's a bit long-winded to do a search 'n > > replace on it - hence why I ask in the subject what's the best way.
> > >>> f=str(f) > > >>> f.split()
> > ["['host1","host2", ... ,"hostN\n']"]
> > Any help is highly appreciated
> > ta
> > dan.
> I did indeed mean "os.popen", no "os.open"- Hide quoted text -
> - Show quoted text -
I do indeed write a pretty fine real-time, low-bandwidth, game. It is like real-time chess, and seen the movie, Tron. Can't the P2Ps zip up in an hour?
En Tue, 13 May 2008 07:46:45 -0300, <dannywebs...@googlemail.com> escribió:
> On May 13, 11:28 am, dannywebs...@googlemail.com wrote: >> Hi - I have a list returned from popen/readlines, and am wondering how >> to go about iterating over each item which was returned (rather than >> currently having the whole lot returned).
>> >>> f=os.open("./get_hostnames").readlines
> I did indeed mean "os.popen", no "os.open"
Ouch, replace open with popen an my example is valid (but to get the meaning I intended to write, replace os.open with open...)
> En Tue, 13 May 2008 07:46:45 -0300, <dannywebs...@googlemail.com> escribió:
> > On May 13, 11:28 am, dannywebs...@googlemail.com wrote: > >> Hi - I have a list returned from popen/readlines, and am wondering how > >> to go about iterating over each item which was returned (rather than > >> currently having the whole lot returned).
> >> >>> f=os.open("./get_hostnames").readlines
> > I did indeed mean "os.popen", no "os.open"
> Ouch, replace open with popen an my example is valid (but to get the > meaning I intended to write, replace os.open with open...)
> En Tue, 13 May 2008 07:46:45 -0300, <dannywebs...@googlemail.com> escribió:
> > On May 13, 11:28 am, dannywebs...@googlemail.com wrote: > >> Hi - I have a list returned from popen/readlines, and am wondering how > >> to go about iterating over each item which was returned (rather than > >> currently having the whole lot returned).
> >> >>> f=os.open("./get_hostnames").readlines
> > I did indeed mean "os.popen", no "os.open"
> Ouch, replace open with popen an my example is valid (but to get the > meaning I intended to write, replace os.open with open...)
> -- > Gabriel Genellina
Yes: fine! But, all we do is start a Tron ring, play Tron on laptops. You have micro-divide currency, you can probably make musicals -too-; and I don't have enough to say to get this...
> Hi - I have a list returned from popen/readlines, and am wondering how > to go about iterating over each item which was returned (rather than > currently having the whole lot returned).
> so far:
>>>> f=os.open("./get_hostnames").readlines
> returns ['host1 host2 host3 ... hostN\n]'
> i'd like to be in a position to iterate through these, grabbing each > host. I have played with transmuting to a str, and using split, and > this works, but I get the subscript brackets from the list output as > expected, as the list output is now a string literal, and this is not > what I want - and I think it's a bit long-winded to do a search 'n > replace on it - hence why I ask in the subject what's the best way.
On Tue, 2008-05-13 at 03:28 -0700, dannywebs...@googlemail.com wrote: > Hi - I have a list returned from popen/readlines, and am wondering how > to go about iterating over each item which was returned (rather than > currently having the whole lot returned).
> so far:
> >>> f=os.open("./get_hostnames").readlines
> returns ['host1 host2 host3 ... hostN\n]'
> i'd like to be in a position to iterate through these, grabbing each > host. I have played with transmuting to a str, and using split, and > this works, but I get the subscript brackets from the list output as > expected, as the list output is now a string literal, and this is not > what I want - and I think it's a bit long-winded to do a search 'n > replace on it - hence why I ask in the subject what's the best way.
Instead of casting to a string, each element of your list is already a string, so use that instead:
f = open("get_hostnames") hosts =[]
# gets each string one at a time. for line in f: # get rid of the pesky \n at the end line = line.strip() # separate the hostnames into a list hosts += line.split(' ')