[Tutor] need advice on streamlining code...
Jacob S.
keridee at jayco.net
Tue Jan 18 03:38:37 CET 2005
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: elh at jabber.org Advocate of the Theocratic Rule
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
More information about the Tutor
mailing list