Python编码问题

时间:2016-02-18 16:13:47

标签: python

我正在尝试修改一些代码,这将掩盖私人信息。

代码如下所示。

len

我遇到的问题是,我需要屏蔽其中一些字段返回“NULL”的文本值,因此我打印出Available值,因为def checkPiData(fieldValue): retVal = "" if str(fieldValue) == "NULL": retVal = "Unavailable" elif len(fieldValue) > 0 : retVal = "Available" else: retVal = "Unavailable" return retVal 被发送到更大的值零。这不准确,导致我的问题。

我尝试将代码修改为

len > 0

我无法让代码看到NULL,它不断恢复为DELIMITER $$ CREATE FUNCTION `worktimeminutes`(open_time DATETIME, close_time DATETIME) RETURNS INT BEGIN DECLARE tot_minutes INT; DECLARE wrk_clock DATETIME; DECLARE nxt_2300 DATETIME; SET tot_minutes := 0; SET wrk_clock := open_time; -- exit early if either argument NULL IF open_time IS NULL OR close_time IS NULL THEN RETURN NULL; END IF; -- exit early if open_time time is on or after close_time IF open_time >= close_time THEN RETURN 0; END IF; myloop: LOOP -- if after 11PM, skip clock forward to 7AM IF DATE_FORMAT(wrk_clock,'%H%i') >= '2300' THEN SET wrk_clock := DATE_FORMAT(wrk_clock,'%Y-%m-%d 07:00') + INTERVAL 1 DAY; END IF; SET nxt_2300 := DATE_FORMAT(wrk_clock,'%Y-%m-%d') + INTERVAL 23 HOUR; -- have we reached close_time yet? IF wrk_clock >= close_time THEN LEAVE myloop; END IF; IF close_time < nxt_2300 THEN SET tot_minutes := tot_minutes + TIMESTAMPDIFF(MINUTE,wrk_clock,close_time); ELSE SET tot_minutes := tot_minutes + TIMESTAMPDIFF(MINUTE,wrk_clock,nxt_2300); END IF; SET wrk_clock := nxt_2300; END LOOP myloop; RETURN tot_minutes; END$$ DELIMITER ;

我做错了什么?

4 个答案:

答案 0 :(得分:0)

你要投射到字符串的输入值是什么?你确定你不想与None比较吗?在这种情况下,您可以这样做:

if filedValue:
  ...

if filedValue is not None:
...

如果你想100%安全。 如果不是这种情况,请发布使您的函数失败的输入参数

答案 1 :(得分:0)

你的意思是某些东西返回字符串'NULL'或只是没有值(在这种情况下你的代码应该工作正常)?如果你的意思是字符串,你可以简单地使用这样的东西?:

def checkPiData(fieldValue):
    retVal = ""
    if len(fieldValue) > 0 and fieldValue != None:
        retVal = "Available"
    else:
        retVal = "Unavailable"

    return retVal

# This is to check the code
print checkPiData('')
print checkPiData('test')

答案 2 :(得分:0)

在经过大量阅读和搞乱事情之后,我感谢所有的帮助

证明以下代码有效,

if "None" in str(fieldValue) or  len(fieldValue) <1:
  return  "Unavailable"


else:
    return  "available"
我今天学到的是使用print来诊断问题。

谢谢大家!

答案 3 :(得分:0)

您可以改进对自己问题的回答:

<div class='scaled'>Scaled div</div>
<div class='normal'>Normal div</div>
<div class='normal'>Normal div</div>
<div class='normal'>Normal div</div>