gpt4 book ai didi

Python 3 如何解决 Python 3.4.2 中 urllib.parse.urlencode 缺少 quote_via

转载 作者:行者123 更新时间:2023-11-30 22:41:37 25 4
gpt4 key购买 nike

我在运行 Python 3.5.2 的计算机上创建了一个 Python 脚本。现在我想在另一台运行 Python 3.4.2 的计算机上运行它,但我无法在那里升级 Python。我的问题是我使用了

urllib.parse.urlencode(dict, safe='/', quote_via=urllib.parse.quote)

quote_via 选项显然在 Python 3.4.2 中不可用,所以我收到错误

TypeError: urlencode() got an unexpected keyword argument 'quote_via'

我需要在这里对字典dict进行urlencode,仅使用quote()而不是quote_plus(),这是3.4中的默认值和3.5。然而,似乎只有 3.5 有可能覆盖默认值。

我该如何解决这个问题?

最佳答案

实现您自己的urlencode()函数。 urllib.parse.urlencode() library function主要由测试组成,以确保可以处理 bytesstr 对象,以及处理 doseq 标志。

否则,它只不过是一个对每对的键和值进行编码的循环,在它们之间添加 = 并用 & 连接所有此类对。为您的输入实现相同的循环,并对您需要的变体进行硬编码。

您可以通过以下方式复制您的特定行为:

'&'.join(['{}={}'.format(quote(k, safe='/'), quote(v, safe='/'))
for k, v in dict.items()])

关于Python 3 如何解决 Python 3.4.2 中 urllib.parse.urlencode 缺少 quote_via,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42460095/

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