Netstat Speed
Jorgen Grahn
grahn+nntp at snipabacken.dyndns.org
Sat Sep 2 14:01:17 EDT 2006
On Sat, 2 Sep 2006 13:22:59 +0200, Sybren Stuvel <sybrenUSE at YOURthirdtower.com.imagination> wrote:
> DarkBlue enlightened us with:
>> Following code works .
>
> No it doesn't - it's indented badly. I guess you mean something like:
>
> def activeip(checkip):
> # if there is any line returned we set activeb to 1 indicating that
> # this ip is active during a netstat run
> activeb=0
> for line in os.popen("netstat -a -n | grep '%s'" % checkip) :
> s=line
> if s <>'' :
> activeb=1
> return activeb
>
> Also try to use != instead of <>. Being equal or not has nothing to do
> with being larger or smaller.
Yeah, that took me a few seconds to mentally convert to !=. Personally, I'd
just write "if line:" in this case.
While we're at it, please write the documentation from a /user/ standpoint,
not as internal scribblings. And don't call the address 'checkip' -- that
makes it look like you pass a functor to the function. Maybe something like
this:
| def ip_is_active(addr):
| """Return success if 'addr' shows up in the output from 'netstat -an'.
| We assume that a suitable version of netstat exists.
| """
| activeb=0
| ...
This doc string is vague -- but that's because it's unclear what the
function does and what you expect it to do. I see half a dozen problems or
so, but that might be ok if its callers don't expect too much.
/Jorgen
--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.dyndns.org> R'lyeh wgah'nagl fhtagn!
More information about the Python-list
mailing list