0

pysphere で VIProperty を使用しようとしていますが、「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'
4

1 に答える 1

-1

「mor」は文字列型であり、「str」オブジェクトには属性「typecode」がないため、正しく機能します。

VI プロパティ:

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)
于 2016-11-28T16:36:46.530 に答える