我试图向只接受XML的API发送请求。我使用elementtree.SimpleXMLWriter
来构建XML树并将其存储在一个StringIO对象中。这一切都很好,很棒。用于编码URL的urllib.urlencode的替代
问题是我必须urlencode StringIO对象才能将其发送到API。但是,当我尝试,我得到:
File "C:\Python27\lib\urllib.py", line 1279, in urlencode
if len(query) and not isinstance(query[0], tuple):
AttributeError: StringIO instance has no attribute '__len__'
显然,这已为an issue with Python讨论。我只是想知道是否有任何其他内置函数用于urlencoding字符串,特别是不需要调用len()
以便我可以编码此StringIO对象的函数。
谢谢!
PS:我打算使用StringIO以外的东西存储XML对象,如果这是一个更简单的解决方案。我只需要某种类型的“file”来存储XML。