Я пытаюсь передать dictionnary функции, которая будет «анализировать» ее, но я не могу ее перебирать, она выглядит просто, но не может понять, что происходит.Невозможно перебрать словарь python
Моя функция:
def _build_options(self, options):
print options
for option, value in options.iteritems():
if option not in self._optionslist:
del options[option]
return options
Варианты:
{'segment_container': None, 'use_slo': False, 'log_level': 'INFO',
'dir_marker': 'False', 'changed': None, 'leave_segments': False, 'fail_fast':
False, 'headers': 'X-Delete-After:50, X-Upload:None', 'meta': [],
'ttl': None, 'segment_size': None, 'skip_identical': False}
Мой код поднимает это:
AttributeError: Values instance has no attribute 'iteritems'
Благодаря
редактировать: тип (опции):
<type 'instance'>
реж (опция):
['__cmp__', '__doc__', '__init__', '__module__', '__repr__', '__str__',
'_update', '_update_careful', '_update_loose', 'changed', 'dir_marker',
'ensure_value', 'fail_fast', 'headers', 'leave_segments', 'log_level', 'meta', 'read_file', 'read_module',
'segment_container', 'segment_size', 'skip_identical', 'ttl', 'use_slo']
я попытался опции = Dict (варианты), но я получаю ошибку:
TypeError: iteration over non-sequence
edit2: У меня есть загрузки() метод в котором я называю _build_options():
def upload(self, paths, ttl, options):
# [...]
# print options, type(options)
# the dictionnary is well printed but its type is "instance"
opts = self._build_options(options)
загрузки() вызывается в другой файл, как это:
self.swift_mng.upload(filename, None, options)
и я получаю варианты от optparse.parse_args()
у вас есть экземпляр Value а не Dict, что такое стоимость? –
check type (options) – itzMEonTV
Также проверьте 'dir (options)', чтобы увидеть доступные методы. – cdarke