python - Python:在 python2 和 python3 中以相同的方式使用 unicode 文字
问题描述
多年没有写python代码,所以我的问题可能很傻很简单。我加载 json 数据:
import json
data = json.loads('{"hello": "world"}')
在 python 2 中,我应该以hello
这种方式访问密钥:data[u'hello']
. 有一个附加u
符号,因为键是 Unicode。
在 python 3 中:data['hello']
. 默认情况下为 Unicode 字符串。
如果我想编写可移植的代码,我应该怎么做?
解决方案
只要您使用 Python 3.3 或更高版本,就可以在字符串上使用 unicode 前缀。这将允许您编写在 Python 2 和 Python 3.3+ 上无需更改即可运行的代码。
见https://www.python.org/dev/peps/pep-0414/
或者,您将代码from __future__ import unicode_literals
放在代码的顶部,然后所有字符串默认为 unicode 文字,b""
即使在 Python2 中,您也必须在字节字符串前面使用前缀。
推荐阅读
- handlebars.js - 有没有办法根据用户的国家/地区输出数组的特定部分?
- php - 检查数组值是否包含浏览器国家代码
- css - 如何使用 NodeJS 应用程序修复资产上的 NGiNX 404
- python - Python paramiko/sshtunnel 代码在 linux 下运行良好,但在 Windows 下失败
- python - 使用os模块输入cmd命令后Tkinter没有响应
- reactjs - 将图像上传到后端适用于 Postman,但不适用于我的 React 应用程序
- c# - Unity 3D 中的抖动相机移动
- python - 如何使用 Beautiful Soup 网页抓取获取日期和作者?
- ansible - Ansible 给出“ansible.utils.display.initialize_locale 尚未被调用”警告
- javascript - 使图像在单击时播放声音-但之后并不总是有效?