簡體   English   中英

使用os.environ統計和顯示列表

[英]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 使用以下結構在該模塊中創建listdict

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM