写代码的时候调试的用处究竟是什么?python 代码我平时都是 win 下面的 cmd 直接运行,print 查看错误的

2016-11-15 11:46:31 +08:00
 qweweretrt515

python 代码我平时都是 win 下面的 cmd 直接运行

print 查看错误的

如果 print 显示基本正常 ,然后就上线代码

但是之前遇到一个编码错误,类似这个帖子 https://www.v2ex.com/t/320544 ,当时我认为这是 python3.5 的编码 bug

但看了那个帖子发现,是 win cmd 的问题,我刚才也测试了,cmd 下运行会出现编码问题,用 ide 的 F5 运行,一切正常

那么,从此以后,就不能信任 windows 的 cmd 了,不能用它来运行 python 脚本了

但是,以后用什么来运行脚本呢?

powerShell 吗,我那个乱码的脚本用 powershell 测试了,也运行不正常,提示编码问题

我正在装 ubuntu on win ,不晓得这个能不能解决问题

大家怎么看呢?

1645 次点击
所在节点    问与答
4 条回复
imn1
2016-11-15 11:59:50 +08:00
关键是你还没了解编码,或者说乱码问题的本质

本质就是,任何一个 IO 过程,前后编码不同就会产生乱码

不要以为一个程序运行过程就是一个 IO 过程
读写文件就是两个 IO 过程了,手动输入、数据库读写等等,从 stdout 到显示也是一个 IO 过程……

所以解决乱码问题,就是解决所有,是所有, IO 过程前后编码的一致性
imn1
2016-11-15 12:05:52 +08:00
接 1L ,给你个作业,如果运行环境 linux 系统的 locale 是 zh-CN.gbk 而不是 zh-CN.utf-8 ,你想想你写的程序会如何?
换一个问法,是否就是 win cmd 的锅?
mooncakejs
2016-11-15 12:35:31 +08:00
chcp 65001
iyaozhen
2016-11-15 14:30:38 +08:00
有些步骤比较复杂的,涉及算法的,不单步调试咋搞?

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

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

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

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

© 2021 V2EX