Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python编码问题_Python - Fatal编程技术网

Python编码问题

Python编码问题,python,Python,我试图修改一些代码,这将掩盖私人信息 代码的工作方式如下所示 def checkPiData(fieldValue): retVal = "" if len(fieldValue) > 0 : retVal = "Available" else: retVal = "Unavailable" return retVal 我遇到的问题是,其中一些字段,我需要屏蔽返回一个文本值“NULL”,这样我就可以打印该值,因为len被发

我试图修改一些代码,这将掩盖私人信息

代码的工作方式如下所示

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

    return retVal
我遇到的问题是,其中一些字段,我需要屏蔽返回一个文本值“NULL”,这样我就可以打印该值,因为
len
被发送到大于零的任何值。这是不准确的,并导致我的问题

我已尝试将代码修改为

def checkPiData(fieldValue):
    retVal = ""
    if str(fieldValue) == "NULL":
        retVal = "Unavailable"
    elif len(fieldValue) > 0 :
        retVal = "Available"
    else:
        retVal = "Unavailable"

    return retVal
我无法让代码看到NULL,它一直返回到
len>0


我做错了什么?

您对字符串的输入值是多少?您确定不想与“无”进行比较吗?在这种情况下,您只需执行以下操作:

if filedValue:
  ...

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

您的意思是什么东西返回字符串“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')

我感谢所有的帮助,经过了大量的阅读和混乱的事情

结果证明以下代码是有效的

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


else:
    return  "available"

如果str(fieldValue)或len(fieldValue)中的“无”您对自己问题的回答可以改进:

def checkPiData(fieldValue):
    if fieldValue is None or not len(fieldValue):
        return "Unavailable"
    return "Available"

什么类型的数据是
fieldValue
?如果它已经是一个字符串,则不需要将其强制转换为字符串
checkPiData('NULL')
将返回
“不可用”
,因此我不理解problem@cricket_007问题是(我认为)在出生日期字段(SQL中的datetime字段)中,有一个文本值“NULL”我想不出如何解释那个文本值。我的代码认为“NULL”的文本值比0长,因此可以打印。@PatrickLausen:请将打印“%s”%type(fieldValue)和打印“fieldValue=%s”%fieldValue添加到函数的开头,并告诉我们它打印出来的内容。@DavidCullen感谢您在这里提供的帮助和耐心,我正在通过尝试和错误学习如何编写代码。我曾尝试输入该打印行,但在最后一个引号中出现语法错误。与
None
相比,Use
不是
。我正在处理的列的输入值在sql中表示为datetime,我想我正在处理的是,该值要么是日期值,要么是文本值“NULL”@pzp感谢我没有意识到None案例的区别,但这是有意义的,因为None不是实际值。我把它修好了code@PatrickLausen不幸的是,我不是sql方面的专家,如果您可以在字符串中发布dateTime对象转换成的内容,那么就可以更容易地找出失败的原因。可能是为了一个空间?尝试如下翻转条件:如果filedValue:return“unavailable”@MarcoGiordano我尝试了下面的方法,我收到了相同的结果,但没有错误,我想我正在努力正确地转换字段?def checkPiData(fieldValue):retVal=“”如果str(fieldValue)中的“NULL”为空:retVal=“不可用”如果str(fieldValue)中的“NULL”为空且len(fieldValue)>0:retVal=“可用”否则:retVal=“不可用”返回retVal
def checkPiData(fieldValue):
    if fieldValue is None or not len(fieldValue):
        return "Unavailable"
    return "Available"