问一个非常基础,但又非常诡异的问题

2019-07-03 15:37:26 +08:00
 jiayong2793
首先,python3 开始使用 utf-8,也就是说支持中文变量名,但是为什么使用中文变量名就报错,一定要在文件头添加# coding=gbk
百思不得其解
2755 次点击
所在节点    Python
11 条回复
TuxcraFt
2019-07-03 15:46:17 +08:00
你用 linux 试试
jiayong2793
2019-07-03 15:55:16 +08:00
@TuxcraFt 卧槽,微软真垃圾
lastpass
2019-07-03 15:57:56 +08:00
没有记错有次更新,微软可以设置将 gbk 改为 utf-8
ps1aniuge
2019-07-03 16:09:47 +08:00
py 中文支持跟屎一样。
前天有人告诉我有个奇妙软件,能把照片变成 果体,我下载一用,打开 某中文.jpg ,软件直接崩溃。改成 英文文件名就好了。

软件套用了 py,套用了 qt5,做的壳子。
ps1aniuge
2019-07-03 16:16:17 +08:00
没了,coding=gbk,coding=utf8,py3 对 unicode 支持很屎,那是很正常的。对 utf16 支持不佳。
好像弱智。
Ultraman
2019-07-03 16:19:48 +08:00
@ps1aniuge 说回来看到你这个我刚刚去看了 deepnde 的推特发现官方不再发布新版本并且授权任何人使用它了。
Ultraman
2019-07-03 16:20:15 +08:00
krixaar
2019-07-03 16:26:49 +08:00
Win10 x64 1903,Python 3.70 ,唯一能复现的场景,.py 文件用 GBK(ANSI)编码存储,报错“ SyntaxError: Non-UTF-8 code starting with '\xb2' in file test.py on line 1, but no encoding declared;”,加入 GBK 的 coding 头之后正常。

.py 文件转换为 UTF-8 编码之后无需 Coding 头也可正常运行。
jakezh
2019-07-04 00:09:24 +08:00
@ps1aniuge 兄弟 软件链接给一下撒
lowman
2019-07-04 09:07:18 +08:00
楼主问题貌似已经解决了, 从来都么有在 windows 环境下做过开发, 最近安了个深度系统, 非定制版的, 勉强还可以接收, 就是流畅度和 ubuntu 比起来, 还是有很大差距的, 是很大........
xuanwu
2019-07-24 14:03:58 +08:00
欢迎到 qq 群里一聚, 也有不少 python 下用中文命名的.

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

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

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

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

© 2021 V2EX