V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
qweweretrt515
V2EX  ›  问与答

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

  •  1
     
  •   qweweretrt515 · Nov 15, 2016 · 2001 views
    This topic created in 3456 days ago, the information mentioned may be changed or developed.

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

    print 查看错误的

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

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

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

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

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

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

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

    大家怎么看呢?

    4 replies    2016-11-15 14:30:38 +08:00
    imn1
        1
    imn1  
       Nov 15, 2016   ❤️ 1
    关键是你还没了解编码,或者说乱码问题的本质

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

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

    所以解决乱码问题,就是解决所有,是所有, IO 过程前后编码的一致性
    imn1
        2
    imn1  
       Nov 15, 2016   ❤️ 1
    接 1L ,给你个作业,如果运行环境 linux 系统的 locale 是 zh-CN.gbk 而不是 zh-CN.utf-8 ,你想想你写的程序会如何?
    换一个问法,是否就是 win cmd 的锅?
    mooncakejs
        3
    mooncakejs  
       Nov 15, 2016
    chcp 65001
    iyaozhen
        4
    iyaozhen  
       Nov 15, 2016 via Android   ❤️ 1
    有些步骤比较复杂的,涉及算法的,不单步调试咋搞?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2661 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 03:37 · PVG 11:37 · LAX 20:37 · JFK 23:37
    ♥ Do have faith in what you're doing.