gpt4 book ai didi

python - TypeError : initial_value must be unicode or None, 不是 str,

转载 作者:太空狗 更新时间:2023-10-30 00:19:06 30 4
gpt4 key购买 nike

我将 SOAPpy 用于 soap wsdl 服务。我正在关注这个 toturail .我的代码如下

from SOAPpy import WSDL
wsdlfile = 'http://track.tcs.com.pk/trackingaccount/track.asmx?WSDL'
server = WSDL.Proxy(wsdlfile)

我在代码的最后一行遇到这个错误

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/adil/Code/mezino/RoyalTag/royalenv/local/lib/python2.7/site-packages/SOAPpy/WSDL.py", line 85, in __init__
self.wsdl = reader.loadFromString(str(wsdlsource))
File "/home/adil/Code/mezino/RoyalTag/royalenv/local/lib/python2.7/site-packages/wstools/WSDLTools.py", line 52, in loadFromString
return self.loadFromStream(StringIO(data))
TypeError: initial_value must be unicode or None, not str

我尝试使用

将字符串转换为 utf
wsdlFile = unicode('http://track.tcs.com.pk/trackingaccount/track.asmx?WSDL, "utf-8")

但仍然有同样的错误。这里缺少什么?

最佳答案

我刚刚遇到了一些非常旧的 2.7 代码的问题,这些代码由于 TLS 更新而不再有效。更新到最新版本的 Python 2 后,我遇到了这个问题。

我只能通过设置一个新的虚拟环境来解决这个问题,然后修改该虚拟环境中的 wstools 包以使用 BytesIO 而不是 StringIO。

替换每个必需的 StringIO 实例。例如:

# WSDLTools.py
...
from IO import BytesIO
...
return self.loadFromStream(BytesIO(data))

虽然不理想,但确实有效。比将所有内容迁移到 Python 3 更容易...

关于python - TypeError : initial_value must be unicode or None, 不是 str,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39720919/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com