2017-08-25 62 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