问题:
脚本结束后不会创建log.html
和report.html
,它会以以下错误消息结束:
[ERROR]阅读XML源' /Users/adikeller/Applications/GIT/BeAm/output.xml'失败:ParseError:不在实体开头的XML或文本声明:第96行,第357列
症状
我在我的python脚本中使用pool.apply_async
(异步线程),经过大量调试后,我注意到当所有线程完成时#34;< ?xml version =" 1.0"编码=" UTF-8&#34 ;? >"被添加到output.xml
(错误消息中行号的末尾),这可能会导致错误。
pool = multiprocessing.Pool(processes=self.num_of_workers)
results = [pool.apply_async(ThrdMultiBcons.shoot_beacons, args=(x, timeDelta, end_req, is_random,)) for x in range(1,self.num_of_workers+1)]
其他信息:
我在output.xml文件中注意到"< ?xml version =" 1.0"编码=" UTF-8&#34 ;? >"实际上是切割"<机器人> ......< /机器人>"在中间并创造新的"<机器人"导致整个混乱的线:
<robot ...
:
<msg ... </msg>
<msg ... <?xml version="1.0" encoding="UTF-8"?>
<robot ...
...
...
</robot>
知道可以采取哪些措施来解决这个问题? 提前谢谢。