难道我的 py 和你们的不一样?

2020-11-22 16:58:08 +08:00
 h175h32

为啥我执行这个

import urllib.parse
print(urllib.parse.urlencode("中文")) 

都报错?

2141 次点击
所在节点    问与答
13 条回复
westoy
2020-11-22 17:03:38 +08:00
urlencode 的不是 dict 么, 你要的是 quote 吧......
h175h32
2020-11-22 17:05:11 +08:00
我擦 搜了半天 原来 python3.0 后的编码器 urlencode 更新后改为 quote_plus,函数名改了 可是百度搜到还有很多用这个 urlencode 函数的文章
h175h32
2020-11-22 17:06:01 +08:00
@westoy 只是想用 urlencode 编码一下这个变量
summerwar
2020-11-22 17:10:42 +08:00
搜问题的时候加上 python3 否则搜出来的可能是 2.7 的答案
westoy
2020-11-22 17:12:52 +08:00
@h175h32

python 里 urlencode 和 quote/quote_plus 本身使用没变过, 一直是那样, 我怀疑你把 php 的 urlencode 给记叉了....

只是 2.7 时 urlencode 、quote/quote_plus 是在 urllib 下面, 原本的 urlparse 更侧重解析 url, 现在统一移到了 urllib.parse 下面
thedrwu
2020-11-22 17:49:47 +08:00
标题用这个缩写有点歧义
roudancongji
2020-11-22 18:07:23 +08:00
这不是我想看的 py
AndyAO
2020-11-22 18:59:58 +08:00
@h175h32 #2
建议搜这类问题的时候,限制时间为 1 年,而且屏蔽掉 CSDN 等站,结果会比较好.
imn1
2020-11-22 19:28:40 +08:00
print(urllib.parse.urlencode({'s':"中文"}))
s=%E4%B8%AD%E6%96%87

print(urllib.parse.quote("中文"))
%E4%B8%AD%E6%96%87
BwNVlwSq
2020-11-23 00:04:58 +08:00
py 通红?😜
bugcoder
2020-11-23 08:49:10 +08:00
Not py diff, but search engine diff
julyclyde
2020-11-23 10:46:25 +08:00
@h175h32 因为你搜索方法有问题
别用百度
kevinfk2
2020-11-23 11:20:43 +08:00
我以为是 py

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728075

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX