<p>与前面的问题(如<a href="https://stackoverflow.com/questions/8675231/typeerror-argument-of-type-int-is-not-iterable">TypeError: argument of type 'int' is not iterable</a>)不同,在我的例子中,似乎没有立即出现明显的索引问题。在</p>
<p>在下面的代码中,<code>testcfg.agents</code>是主机名和/或IP地址的列表,<code>testcfg.port</code>是{<cd3>}调用应该使用的端口。<code>DSEvent</code>类为活动目录中的事件建模,<code>DSEvent.eventcommand</code>是一个包含命令及其参数的列表(通过对代理的<code>xmlrpc</code>调用传递,代理使用<code>subprocess</code>模块执行它)</p>
<pre><code># Create a list of agents to process events from
agent_list = []
for a in testcfg.agents:
agent_list.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(xmlrpc.client.ServerProxy("http://" + a + ':' + testcfg.port))
# Initial user creation:
for j in range(5):
init_event = DSEvent(type = 'add', is_important = True)
agent_eB = random.choice(agent_list)
agent_eB.execute(init_event.eventcommand) # This line throws the fault described below!
</code></pre>
<p>我得到的确切例外是(去掉了对模块的各种回溯):</p>
^{pr2}$
<p>我不明白这个错误是从哪里来的。当<code>init_event.eventcommand</code>是一个iterable对象(一个列表)时,我通过<code>xmlrpc</code>在其他代码中传递并返回了iterable对象,但没有遇到这个错误。我已经检查过意外的变量重用,我认为这也不是问题所在。我真的很想得到帮助!在</p>
<p>以下是此错误的完整回溯,以供参考:</p>
<pre><code>Traceback (most recent call last):
File "C:\Users\Administrator\Downloads\randeventmaker\randeventmakerengine.py",
line 861, in <module>
sproxy.execute(initializing_event.eventcommand)
File "C:\Python32\lib\xmlrpc\client.py", line 1095, in __call__
return self.__send(self.__name, args)
File "C:\Python32\lib\xmlrpc\client.py", line 1423, in __request
verbose=self.__verbose
File "C:\Python32\lib\xmlrpc\client.py", line 1136, in request
return self.single_request(host, handler, request_body, verbose)
File "C:\Python32\lib\xmlrpc\client.py", line 1151, in single_request
return self.parse_response(resp)
File "C:\Python32\lib\xmlrpc\client.py", line 1323, in parse_response
return u.close()
File "C:\Python32\lib\xmlrpc\client.py", line 667, in close
raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault 1: "<class 'TypeError'>:argument of type 'int' is
not iterable">
</code></pre>