Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 使用os.environ统计和显示列表_Python_List_Environment Variables_Maya - Fatal编程技术网

Python 使用os.environ统计和显示列表

Python 使用os.environ统计和显示列表,python,list,environment-variables,maya,Python,List,Environment Variables,Maya,请原谅,如果我的标题误导了您,但我在尝试根据所选类别生成列表时遇到问题,虽然我可以更改类别,但它仍保留上一个类别选择中列表的值 category = os.environ['CAT'] item = os.environ['ITEM'] """ ezygate.Job.getItems is the code of the inhouse tool i'm using to derive the list of items """ itemList = ezygate.job.getItems

请原谅,如果我的标题误导了您,但我在尝试根据所选类别生成列表时遇到问题,虽然我可以更改类别,但它仍保留上一个类别选择中列表的值

category = os.environ['CAT']
item = os.environ['ITEM']

""" ezygate.Job.getItems is the code of the inhouse tool i'm using to derive the list of items """
itemList = ezygate.job.getItems({'Items': '%s'%category})

category = ['Shirts'] 
itemList = ['v-neck', 'round', 'long sleeve', ...] 
因此,当用户想要更改类别时,他们必须访问另一个ui来更改它(不是此编码的一部分),尽管
os.environ['CAT']
将相应地更新,但itemList是错误的。。。例如:

category = ['Shorts']
itemList = ['v-neck', 'round', 'long sleeve', ...]
当我尝试执行一个
os.environ.clear()
时,它使我的Maya出错,我得到了以下错误:

# Error: CAT
# Traceback (most recent call last):
#   File "<maya console>", line 2, in <module>
#   File "/apps/Linux64/aw/maya2014/lib/python2.7/UserDict.py", line 23, in __getitem__
#     raise KeyError(key)
# KeyError: 'CAT # 
#错误:CAT
#回溯(最近一次呼叫最后一次):
#文件“”,第2行,在
#文件“/apps/Linux64/aw/maya2014/lib/python2.7/UserDict.py”,第23行,在__
#升起钥匙错误(钥匙)
#关键错误:“CAT#
因此,如果项目列表不是
类别的一部分,os.environ['ITEM']是否会以任何方式清除该项目列表?

我想看看除了使用
os.environ
方法(这是我所知道的唯一一种方法)之外,是否还有其他内部代码可以读取项目列表

看起来您有一个内部制作的模块
ezygate
。在该模块中创建一个
dict
list
s,其结构如下:

cats = {'Shirt': ['v-neck', 'round', 'long sleeve']}
只要另一个ui可以导入ezygate,您就可以在那里访问相同的dict,而不必依赖os.Environment

ezygate.cats['Shirt']

os.environ
是存储在
os
模块中的字典,但是没有理由不能依赖另一个模块中的另一个字典。根据您的模块,您可能会跳出更多的
ezygate
,但重要的是,无论您需要依赖
dict

我认为这绝对是OP应该走的方向。这是一个坏主意(tm)搞砸了os.environ中间会话,特别是在模块之间传递信息。