Python - TypeError:并非在字符串格式化过程中转换的所有参数

时间:2015-08-05 09:52:54

标签: python python-2.7 string-formatting typeerror

我编写了以下代码,由于某种原因,它在应用代码时出错,不确定问题是什么。

import datetime
now = datetime.datetime.now()
eventRootOids = ('1.3.6.1.4.1.11.2.17.19.2.2.%s')

EVENT_TRAP_VARBINDS = {
                'ApplicationId'      : tuple(['ApplicationId'] + [oid % 1 for oid in eventRootOids]),
                 Console'        : tuple(['Console'] + [oid% 2 for oid in eventRootOids]),
                       }

我的ROOT OID应该是1.3.61.4.1.44.2.17.19.2.2.1/2/3,所以......)

TypeError: not all arguments converted during string formatting
                'ApplicationId'      : tuple(['ApplicationId'] + [oid % 1 for oid in eventRootOids]),

1 个答案:

答案 0 :(得分:0)

你错过了eventRootOids = ('1.3.6.1.4.1.11.2.17.19.2.2.%s')中的逗号;你写它的方式不是元组。

import datetime

now = datetime.datetime.now()

eventRootOids = ('1.3.6.1.4.1.11.2.17.19.2.2.%s', )

EVENT_TRAP_VARBINDS = { 'ApplicationId' : 
    tuple(['ApplicationId'] + [oid % 1 for oid in eventRootOids]), 
    'Console' : tuple(['Console'] + [oid % 2 for oid in eventRootOids]), }

print(EVENT_TRAP_VARBINDS)

输出:

{'ApplicationId': 
    ('ApplicationId', '1.3.6.1.4.1.11.2.17.19.2.2.1'),
    'Console': ('Console', '1.3.6.1.4.1.11.2.17.19.2.2.2')
}