Поправьте меня, если я ошибаюсь, но host_dict
не является допустимым словарем. Я предполагаю, что вы пытались создать словарь с ключом installed_applications
и значением в виде списка, поэтому он будет выглядеть примерно так
host_dict = {
'installed_applications':
[{
'name': 'alsdfasdf',
'version': '1',
'installed_date': '11-11-11',
},
{
'name': 'alsdfasdf',
'version': '1',
'installed_date': '11-11-11',
},
{
'name': 'alsdfasdf',
'version': '1',
'installed_date': '11-11-11',
},
{
'name': 'alsdfasdf',
'version': '1',
'installed_date': '11-11-11',
}]
}
В этом случае вы можете легко создать значения, выполнив итерацию по apps
, добавив необходимые пары ключ-значение в список, а затем присвоив этому списку installed_applications
ключ
* 1009.*
Или, сделав код короче, мы можем сделать
host_dict = {}
apps = get_installed_apps(host)
host_dict['installed_applications'] = {}
#List to store list of dictionaries
li = []
#List of keys for app
app_keys = ['name', 'version', 'uninstall_string', 'install_date', 'install_location', 'publisher']
#Iterate through apps
for app in apps:
dct = {}
#Make the dictionary
for idx, item in enumerate(app):
dct[app_keys[item]] = item
li.append(dct)
#Assign the list
host_dict['installed_applications'] = li