我正在开发一些IMAP检查程序。现在,收件箱计数按以下布局打印消息:[' number ']。
现在该号码被拆分为var num中的 number 。请参阅以下代码:
for num in data[0].split():
print num
现在问题是,如果没有任何新的电子邮件,num不存在,所以我想要一个这样的if语句:
if <num doesn't exist>: print "No new emails found."
但if语句应该是什么样的?
答案 0 :(得分:4)
达到你想要的最蟒蛇的方式是:
nums = data[0].split()
for num in nums:
print num
if not nums:
print "No new emails found"
因为代码正好反映了意图。
答案 1 :(得分:2)
检查this site,它们有一个有用的片段来检查变量是否存在或者是否为None:
# Ensure variable is defined
try:
num
except NameError:
num = None
# Test whether variable is defined to be None
if num is None:
some_fallback_operation()
else:
some_operation(num)
答案 2 :(得分:1)
检查拆分数据的大小并将其用作您的条件:
for num in data[0].split():
print num
if len(data[0].split()) == 0:
print "No new emails found."
更优雅的方式:
for num in data[0].split():
print num
if not data[0].split():
print "No new emails found."
答案 3 :(得分:1)
我愿意
num = None
for num in data[0].split():
print num
if num is None:
print "No new emails found."
如果None
是有效数据部分,请使用
num = sentinel = object()
for num in data[0].split():
print num
if num is sentinel:
print "No new emails found."
代替。