python中文註釋報錯問題
阿新 • • 發佈:2019-01-04
我們在寫指令碼的時候,可能會碰到如下報錯:
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中有沒有中國火字樣的目錄,