yeah, I wasn't sure about that readline/lines thing, cos I'm not sure
how popen works.

Well, I'm not positive about it either! But that doesn't mean that you can't comment out what you had, try this, and uncomment the previous if it doesn't work. I would imagine that it works because it seems to me if it can split the whole input, it can certainly split just one split deep!!! Anyway...


Jacob

On Mon, 17 Jan 2005 21:38:37 -0500, Jacob S. <[EMAIL PROTECTED]> wrote:
I seem to always be the one to suggest this, but --

"String methods are better than using the string module because the string
module has been ?deprecated? or will be soon. I think that is the word here.
So, do this instead."


insideipgrepfd = os.popen("grep ifconfig_fxp0 /etc/rc.conf")
insideipgrep = insideipgrepfd.readline()  ## Says same thing below --
readline() just reads first line
insideipfield, insideip = insideipgrep[0].strip().split("=")
insideipsplit = insideip.split()
insideipquads = insideipsplit[1].split(".")
insidemaskquads = insideipsplit[4].split(".")

And, heck, I know it wouldn't be that simple, but if the line stays the same
but just the numbers change, you can do,


insideipgrepfd = os.popen("grep ifconfig_fxp0 /etc/rc.conf")
insideipgrep = insideipgrepfd.readlines() ##Wait, if you're just using the
first line use insideipgrepfd.readline()
insideipgrep = insideipgrep.lstrip("ifconfig_fxp0=\"inet ")
temp = insideipgrep.split(" netmask ")
insideipquads = temp[0].split(".")
insideipmaskquads = temp[1].split(".")


Warning, code just above is not very stable --  if the text of the line
changes in anyway it won't work.

HTH,
Jacob Schmidt

> The following block of code works, and provides the necessary output > I'm
> looking for...but I have a feeling that it's working through sheer > brute
> force and could be better:
>
> insideipgrepfd = os.popen("grep ifconfig_fxp0 /etc/rc.conf")
> insideipgrep = insideipgrepfd.readlines()
> insideipfield, insideip = > string.split(string.strip(insideipgrep[0]),
> "=")
> insideipsplit = string.split(insideip, " ")
> insideipquads = string.split(insideipsplit[1], ".")
> insidemaskquads = string.split(insideipsplit[4], ".")
>
> the line in /etc/rc.conf looks like:
>
> ifconfig_fxp0="inet 172.31.2.100 netmask 255.255.255.0"
>
> Any and all thoughts/pointers are appreciated.
>
> ~elh
>
> --
> Eric L. Howard e l h @ o u t r e a c h n e t w o r k s . c o > m
> ------------------------------------------------------------------------
> www.OutreachNetworks.com > 313.297.9900
> ------------------------------------------------------------------------
> JabberID: [EMAIL PROTECTED] Advocate of the Theocratic > Rule
> _______________________________________________
> Tutor maillist - Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor



--
'There is only one basic human right, and that is to do as you damn well please.
And with it comes the only basic human duty, to take the consequences.
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor




_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor

Reply via email to