所以我有以下代码:
if old_size < new_size and date_exceeded and usage(user) < new_size:
unset_date_exceeded()
问题是,即使值表明不是这样,它的评估结果也为 True:
logger.info('oS:%s | nS:%s | dE:%s | usage:%s' % (old_size, new_size, date_exceeded, usage(user)))
# returns oS:262144000 | nS:536870912 | dE:2013-04-22 10:27:08+00:00 | usage:908811325
请注意,usage(user) < new_size 应该是False
,但由于某种原因,它不是那样工作的。
我想也许我不明白and
函数是如何工作的,但是如果我在 python shell 中尝试这个,我无法复制它,而是得到预期的结果:
>>> oS= 262144000
>>> nS= 536870912
>>> usage= 908811325
>>> dE="2013-04-22 10:27:08+00:00"
>>> oS < nS and dE and usage < nS
False
我很确定我正在失去理智并且错过了一个错字或其他东西,所以如果是这种情况,我很抱歉,但我很难过。