gpt4 book ai didi

python - sendLine 中的扭曲类型错误

转载 作者:行者123 更新时间:2023-11-30 23:23:34 26 4
gpt4 key购买 nike

我正在使用python-RTSP使用 Twisted 和 Python3 运行 RTSP。我正在尝试使用上述配置访问 YouTube 链接的 RTSP 信息。我必须使用Python3,因为我的剩余代码是Python3 中的。

我正在使用发送命令

self.sendLine('%s %s RTSP/1.0' % (command, path))

其中 Command 为 DESCRIBE,Path 为 url

rtsp://r7---sn-a5m7zu7d.c.youtube.com/CiILENy73wIaGQlFHOtrHD-E8RMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp

我收到以下语句错误:

File "/home/akshay_v/valuconnex-python/twisted/protocols/basic.py", line 637, in sendLine
return self.transport.write(str(line + self.delimiter))
builtins.TypeError: Can't convert 'bytes' object to str implicitly

self.delimiter = b'\r\n'
line is the *str* passed as argument in above statement.

如何让它工作?

最佳答案

正如 Jean-Paul 所说,您不能使用 Python 3 来运行 python-RTSP。

如果您对此故障的确切性质感到好奇,问题在于 transport.write 采用 bytes 对象。在 Python 2 上,它与 str 类型相同,在 Python 3 上,它是它自己的类型。与 Python 2 上的 Python 3 的 str 类似的类型是 unicode,并且您无法将 unicode 写入套接字,因此您可以不要将其传递给 transport.write

但是,您在 twisted.protocols.basic 中显示的代码行看起来像是 Twisted 的错误修改版本;我在该位置找不到曾调用过 str 的 Twisted 版本。您是如何获得此版本的 Twisted?您是否尝试升级到最新版本(撰写本文时为 14.0.0)?

关于python - sendLine 中的扭曲类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23881783/

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