Python 中的百分比编码字符串

Percent-encoding a string in Python

我有一个 HTTP 请求,我正尝试根据用户输入执行该请求。为此,我需要将所有非字母数字字符转换为其相应的百分比例如,我希望 Broome Street 转换为 Broome%20Street。现在,如果我只考虑空格,我会简单地写一个 .replace(' ','%20'),但坦率地说,我不确定还有什么我没有考虑过的。 (也许我很愚蠢。无论哪种方式,这都是一个可扩展的问题。)

是否有一种简单的方法,也许是一个库,可以快速简单地将字符串转换为 URL?唯一的选择是创建两个列表并通过 for 循环压缩它们,这太疯狂了。

有多种方法可以做到这一点 - 这里描述了其中的几种:How to urlencode a querystring in Python?

基本上您是在尝试执行“URL 编码”。 String replace and/or 正则表达式不是最好的选择,正如您所猜测的,因为有几个内置选项可以为您处理事情(例如需要处理的一些不明显的转换)

...并且不要使用该链接页面上显示的第一个选项 - 您可能想使用

urllib.parse.quote_plus(...)