Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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_Arrays_Variables - Fatal编程技术网

Python 如何检查变量是否存在?

Python 如何检查变量是否存在?,python,arrays,variables,Python,Arrays,Variables,我想检查名为component+“\u STATUS”或+“\u DESC”的变量是否存在 我尝试了以下方法,但无效。下面是我的代码: Components = ['SAVE_DOCUMENT', \ 'GET_DOCUMENT', \ 'DVK_SEND', \ 'DVK_RECEIVE', \ 'GET_USER_INFO', \ 'NOTIFICATIONS', \ 'ERROR_LOG', \ 'SUMMARY_STATUS'] for Component in Components:

我想检查名为component+“\u STATUS”或+“\u DESC”的变量是否存在

我尝试了以下方法,但无效。下面是我的代码:

Components = ['SAVE_DOCUMENT', \
'GET_DOCUMENT', \
'DVK_SEND', \
'DVK_RECEIVE', \
'GET_USER_INFO', \
'NOTIFICATIONS', \
'ERROR_LOG', \
'SUMMARY_STATUS']

for Component in Components:
    try:
        eval(Component + "_STATUS")
        eval(Component + "_DESC")
    except NameError:
        print "Missing component " + Component + " information!"
        sys.exit(StateUnknown)
>>f=1
>>>globals()
{uuuuu内置名称:,'uuuuu名称:''uuuuu主名称','f':1','uuuu文档:无','uuuuuu包:无}
>>>globals()中的“f”
真的
>>f=1
>>>globals()
{uuuuu内置名称:,'uuuuu名称:''uuuuu主名称','f':1','uuuu文档:无','uuuuuu包:无}
>>>globals()中的“f”
真的

我可能错了,但我认为您可以通过以下方式来实现(不使用usign eval-因为使用它不是一个很好的方法):


如果您需要检查局部范围内是否存在变量,您可以使用,否则您可以使用

我可能是错的,但我认为您可以通过以下方式执行此操作(不使用usign eval-因为使用它不是很好):

若您需要检查局部范围中是否存在变量,则可以使用,否则可以使用

>>> f = 1
>>> globals()
{'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__', 'f': 1, '__doc__': None, '__package__': None}
>>> 'f' in globals()
True
Components = ['SAVE_DOCUMENT', 'GET_DOCUMENT', 'DVK_SEND', 'DVK_RECEIVE', 'GET_USER_INFO', 'NOTIFICATIONS', 'ERROR_LOG', 'SUMMARY_STATUS']
missed = [x for x in Components if x + "_STATUS" not in locals() or x + "_DESC" not in locals()]
if missed:
    print "Missing components: {0:}".format(missed)
    sys.exit(StateUnknown)