2017-08-25 59 views
1

我第一次使用Python,并遇到编码错误,我似乎无法解决。下面是代码:Python记事本++编码错误

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

当我这样做,我得到:

File "C:\Users\Public\Documents\Python Scripts\ImportExcel.py", line 5 a = "C:\Users" ^SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in positio n 2-3: truncated \UXXXXXXXX escape

在记事本++我已经尝试了所有的编码选项。似乎没有任何工作。 有什么建议吗?

回答

0

错误消息显示您在Windows机器上,但是您使用的是* nix表示法,用于#!/usr/bin/python。该行应该在Windows机器上看起来像#!C:\Python33\python.exe,取决于您安装Python的位置。

0

使用此:中# -*- coding: utf-8 -*-代替#-- coding: utf --

0

您可以在记事本++编码,但你还需要告诉Python的这件事。

在传统的Python(2.7)中,源代码是ASCII,除非另有规定。在Python 3中,除非另有说明,否则源代码为UTF-8。

应使用以下作为第一行的文件的指定源代码的编码。该文档提供了:

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

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

# vim: set fileencoding=<encoding>: 

# coding=<encoding> 

<encoding>能是Python支持的任何编码,但utf-8通常是便携式代码的不错选择。

3

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

a = "C:\\Users" 

希望这有助于。

+0

好抓!另一种方法是使用原始字符串'r“C:\ Users”'。 –

+0

谢谢。从技术上讲,它回答了提出的问题,但在这里也有其他几个有效的观点。希望它被选为“正确的”答案:) @Rich James:查看查克博士的课程,查看所有这些,并打开文件等 - 以及伟大的课程和最好的介绍课程我'已采取。 https://www.py4e.com/ – srattigan