Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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_Namespaces - Fatal编程技术网

Python 遍历名称空间

Python 遍历名称空间,python,namespaces,Python,Namespaces,我的名称空间如下所示: 名称空间(aTQ=None,bE=None,bEQ=None,b=None,bQ=None,c=None, c=None,cJ=None,d=None,g=None,jR=['xx','015'],lC=None,l=None) 我如何遍历它,以便找到并替换“jR”键的“xx”值 我不确定您事先知道什么,(名称jR,或者只有一个名称具有而不是None值),但是您可以尝试使用vars(),它应该是一个dict,它的名称空间中的名称作为其键。所以如果你在某处有字符串'jR'

我的名称空间如下所示:

名称空间(aTQ=None,bE=None,bEQ=None,b=None,bQ=None,c=None, c=None,cJ=None,d=None,g=None,jR=['xx','015'],lC=None,l=None)


我如何遍历它,以便找到并替换“jR”键的“xx”值

我不确定您事先知道什么,(名称
jR
,或者只有一个名称具有
而不是None
值),但是您可以尝试使用vars(),它应该是一个dict,它的名称空间中的名称作为其键。所以如果你在某处有字符串
'jR'

vars()['jR'] = vars()['jR'][0]
同样,您可以使用
名称空间来获得相同的dict

将留给您
['xx','015']
中的第一个值作为
jR
的唯一值

编辑:需要说明的是,由于
vars()
\uu dict\uuu
都返回dict,因此可以按如下方式对它们进行迭代:

for k in namespace.__dict__:
    if namespace.__dict__[k] is not None:
        <<do something>>
命名空间中的k的
。\uuuu dict\uuuuu:
如果namespace.\uuuu dict\uuuu[k]不是无:

@martineau我以为我理解了他的问题,直到我看到了那句话;我原以为他指的是用于打包的文件名称空间,但blockquote似乎暗示他不是这个意思。@Sapphire_-Brick:从公认的答案来看,这不是OP的意思,而是在Python 3.3
types
模块中添加了非常类似的内容,该模块名为a,其文档中写道“可用于替代
类别NS:pass
”。