[英]using os.environ to tally and display lists
如果我的標題誤導了您,請原諒我,但是我在嘗試獲取根據所選類別生成的列表時遇到了問題,盡管我可以更改類別,但它仍保留先前選擇類別中的列表值
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', ...]
因此,當用戶想要更改類別時,盡管os.environ['CAT']
會相應更新,但他們必須訪問另一個ui來更改它(這不是編碼的一部分),而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 #
因此,如果os.environ ['ITEM']不屬於該category
有什么方法可以清除itemsList? 我正在尋找是否有其他內部代碼將讀取項目列表,而不是使用os.environ
方法(這是我所知道的唯一方法...)
看起來您已經在內部制作了一個模塊ezygate
。 使用以下結構在該模塊中創建list
的dict
:
cats = {'Shirt': ['v-neck', 'round', 'long sleeve']}
只要其他ui可以import ezygate
,您就可以在那里訪問相同的dict
,而不必依賴os.environ
ezygate.cats['Shirt']
os.environ
是存儲在os
模塊中的字典,但是沒有理由您不能依賴其他模塊中的另一個字典。 根據模塊的不同,可能要比ezygate
跳出更多,但是重要的是,可以在需要依賴dict
任何位置導入模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.