[Tutor] Confirmation if command worked
cwitts at compuscan.co.za
Thu Aug 25 10:37:21 CEST 2011
On 2011/08/25 10:19 AM, Alan Gauld wrote:
> On 25/08/11 07:25, Christian Witts wrote:
>> Once you call child.close() the exit and signal status will be stored in
>> .exitstatus and .signalstatus, for a normal exit of the program
>> .exitstatus will store the return code from SCP as per    and
>> .signalstatus will be None. If SCP was terminated with a signal then
>> .exitstatus will be None and .signalstatus will contain the signal
>> value. Info found in the docs .
>> data = child.read()
>> if child.exitstatus and child.exitstatus == 0:
>> success = True
>> success = False
> Won't that if statement always evaluate to false?
> If exitstatus is 0 the first part of the and will be false and so the
> entire and expression is false.
> If exitstatus is not 0 then the second part of the and will be false
> and again the and result will be false.
> Did you mean to use exitstatus for both tests?
> Or am I missing something subtle here?
Good catch, it should be `if child.exitstatus != None and
child.exitstatus == 0:` or removing the first part entirely. The
zero-evaluating-as-False has bitten me before and for some reason I
still on occasion forget it even though I use it often for data extracts.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Tutor