1. 程式人生 > >python中文註釋報錯問題

python中文註釋報錯問題

我們在寫指令碼的時候,可能會碰到如下報錯:

SyntaxError: Non-ASCII character '\xe4' in file getoptTest.py on line 14, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

仔細看錯誤,裡面有 Non-ASCII,一般這種問題,基本上是編碼錯誤。

果斷上網查詢,後發現是中文註釋的問題既然它提供了網址,那就看看吧。簡單地瀏覽一下,終於知道如果檔案裡有非ASCII字元,需要在第一行或第二行指定編碼宣告。把ChineseTest.py檔案的編碼重新改為ANSI,並加上編碼宣告:修改的方法是:

這裡本人試過好多次了,必須是在第一行或是第二行加入這麼一句:否則無效,這裡還要提醒一點兒就是檢視vim的編碼命令:
set fileencoding

-*- coding: utf-8 -*-

#!/usr/bin/python
# -*- coding: utf-8 -*-
#coding=utf-8
import os,sys
import getopt
print sys.argv
CDROW='/root/home/test'
def cdWalker(CDROW,cdfile):
        result=[]
        for root,dirs,files in os.walk(CDROW):
                result.append("%s %s %s" %(root,dirs,files))
        open(cdfile,'w').write('\n'.join(result))
def usage():
        print '''pycdc 使用方式:
        python cdays-3-exercise-1.py -d cdc -k 中國火
        #檢索cdc中有沒有中國火字樣的目錄,
     '''

結果顯示:

[email protected]:~/python$ python test.py 
['test.py']
pycdc 使用方式:
    python cdays-3-exercise-1.py -d cdc -k 中國火
#檢索cdc中有沒有中國火字樣的目錄,