【问题标题】:Python Notepad++ encoding errorPython Notepad++ 编码错误
【发布时间】:2017-08-25 15:16:56
【问题描述】:

我第一次使用 Python,遇到了一个我似乎无法解决的编码错误。代码如下:

   #!/usr/bin/python
   #-*- coding: utf -*-
   import pandas as pd
   a = "C:\Users"
   print(a) 

当我这样做时,我得到:

文件“C:\Users\Public\Documents\Python Scripts\ImportExcel.py”,行 5 a = "C:\用户" ^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXXXX escape

在 Notepad++ 中,我尝试了所有的编码选项。似乎没有任何效果。 有什么建议吗?

【问题讨论】:

    标签: python encoding notepad++ codec


    【解决方案1】:

    具体来说,问题在于“\”是一个转义字符。 如果要打印字符串 “C:\用户” 那么你必须这样做:

    a = "C:\\Users"
    

    希望这会有所帮助。

    【讨论】:

    • 好收获!另一种方法是使用原始字符串r"C:\Users"
    • 谢谢。从技术上讲,它回答了提出的问题,但这里也提出了其他几个有效的观点。希望它被选为“正确”的答案 :) @Rich James:查看 Chuck 博士的课程,查看所有这些,以及打开文件等 - 很棒的课程和我参加过的最好的介绍课程. py4e.com
    【解决方案2】:

    错误消息表明您使用的是 Windows 计算机,但您使用 *nix 表示法表示 #!/usr/bin/python。该行在 Windows 机器上应该类似于 #!C:\Python33\python.exe,具体取决于您安装 Python 的位置。

    【讨论】:

      【解决方案3】:

      使用这个:# -*- coding: utf-8 -*- 而不是 #-- coding: utf --

      【讨论】:

        【解决方案4】:

        可以在 Notepad++ 中设置编码,但也需要告诉 Python。

        在旧版 Python (2.7) 中,除非另有说明,否则源代码为 ASCII。在 Python 3 中,除非另有说明,否则源代码为 UTF-8。

        您应该使用以下内容作为文件的 firstsecond 行来指定源代码的编码。文档给出:

        # -*- coding: <encoding> -*-
        

        这是最初来自 Emacs 编辑器的格式,但根据 PEP263 你也可以使用:

        # vim: set fileencoding=<encoding>:
        

        偶数:

        # coding=<encoding>
        

        &lt;encoding&gt; 可以是 Python 支持的任何编码,但utf-8 通常是可移植代码的不错选择。

        【讨论】:

          猜你喜欢
          • 2015-02-04
          • 2014-05-16
          • 2019-01-18
          • 2011-03-14
          • 2014-10-22
          • 2016-12-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多