与无值的Python日期时间比较(Landscape API)

时间:2013-02-19 16:06:21

标签: python api

我正在从web服务中剪切一些参数,其中一个参数是last_ping_time女巫可以在某个时刻无价值。我将当前日期与last_ping_time进行比较以检查与机器的通信。 所以我得到了

ValueError:时间数据'无'与格式'%Y-%m-%dT%H:%M:%SZ'不匹配

如果我得到无

,我试图设置虚拟值
   if ping=="None":

   ping="2013-01-01T00:00:00

尝试也打破或继续坚果他们似乎没有工作这个错误仍然存​​在。我需要循环继续下一个值,如果为null或者放一些虚拟值并继续。 我没有想法,请帮忙。

with open(filename, 'wb') as csvfile:   #Creating report file
    spamwriter = csv.writer(csvfile, delimiter='    ')
    for computer in computers:

        ping=computer["last_ping_time"]
        ping=str(ping)
        ping.split('T')
        if ping=="None":
        #break
        ping="2013-01-01T00:00:00"  
        else

                ping=datetime.datetime.strptime(ping, '%Y-%m-%dT%H:%M:%SZ') # Convert string to data

                if ping<Current_Date: 
                        #toremove=count+1
                        os.system('zenity --info --text="Computers not contacting more than 30 days:%s "' % (computer["hostname"]))
                        #print "Needs to be deleted" #Control Variable

                        spamwriter.writerow((computer["id"], computer["hostname"], computer["title"], computer["last_ping_time"], "30 Days from last contact machine will be be removed"))
                else:
                        network=str(computer) #list to string
                        ip=network.split("u'ip_address': u'")[1] #1 shows what is after parameters
                        ip=ip.split("'")[0] #0 shows what is before parameters
                        mac=network.split("u'mac_address': u'")[1]
                        mac=mac.split("'")[0] 
                        print mac
                        print ip
                        spamwriter.writerow((computer["id"], computer["hostname"], computer["title"], computer["last_ping_time"], mac, ip)) 
os.system('zenity --info --text="Report is created with name:%s "' % (filename))

1 个答案:

答案 0 :(得分:0)

删除ping = str(ping)行并使用:

if ping is None:
   # no last ping time