AttributeError: у объекта 'str' нет атрибута 'typecode'

Я пытаюсь использовать VIProperty в pysphere, но получаю , что объект 'str' не имеет атрибута 'typecode'.

Код:

for h, mor in server.get_hosts().items():
    if mor == 'xxx.com':
        prop = VIProperty(server, mor)

Ошибка:

Traceback (most recent call last):
  File "teardown.py", line 29, in <module>
    prop = VIProperty(server, mor)
  File "/usr/local/lib/python2.7/dist-packages/pysphere/vi_property.py", line 38, in __init__
    self._type = obj.typecode.type[1]
AttributeError: 'str' object has no attribute 'typecode'

1 ответ

Работает правильно, потому что тип строки "mor" и объект 'str' не имеют атрибута 'typecode'.

VIProperty:

class VIProperty(object):
    def __init__(self, server, obj):
        self._server = server
        self._obj = obj
        self._values_set = False
        self._type = obj.typecode.type[1]

Ваш метод вызова:

for h, mor in server.get_hosts().items():
    if mor == 'xxx.com':
        print type(mor) # <<<< 'str'
        prop = VIProperty(server, mor)

Попробуй это:

    hosts = server.get_hosts()
    for hmor, hname in hosts.items():
        if hname == 'xxx.com':
           p = VIProperty(server, hmor)
Другие вопросы по тегам