天天看點

Python sublime 中文的問題彙總【收藏】Python sublime 中文編譯和中文路徑問題

Python sublime 中文編譯和中文路徑問題

轉載請标明出處: https://blog.csdn.net/DJY1992/article/details/80272602 本文出自:【奧特曼超人的部落格】
  • 中文字元編譯問題彙總
  • 中文路徑編譯問題彙總

目錄:

sublime 設定:可以用過2種方法打開

1. Preferences -> Browse Packages

2. 預設安裝路徑:C:\Program Files (x86)\Sublime Text\Data\Packages\ (個人)

控制台無輸出,檔案帶有中文字元時控制台會提示這個錯誤,解決方法:

找到 Python檔案夾 —— Python.sublime-build

{ 
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "cp936"
}           

這個環境問題比較簡單了,直接切換設定的python的執行者就可。(注意python是設定了環境變量的,如果沒有,下面的

cmd

需要帶入全路徑即可。)

{ 
    "cmd": ["python3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "cp936"
}           

全路徑:

"cmd": ["xxxx/xxx/python3", "-u", "$file"],           

原因:字元集的問題,字元串時會出現 ” UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xa0’ in position” 的錯誤,原因是由于python基于ASCII處理字元的,當出現不屬于ASCII的字元時,會出現錯誤資訊,其它ASCII錯誤大部分都是由于中文字元引起。

解決:

檔案頭部開頭寫入:指定檔案字元集為utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')           

注意要和python的字元集對應。

中文路徑問題是sublime運作後什麼提示都沒有的情況,那這時要調出控制台檢視了,一般會提示這個錯誤。

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

操作:

Preferences -> Browse Packages           

傳回上級目錄,然後繼續傳回到

sublime

的根目錄,如圖:

打開之後:

隻要設定這兩句,儲存,然後重新開機

Sublime

,打開運作之後就會有提示了。

問題:

python2.7下,我在一個檔案中輸入了點中文字元,然後儲存為txt格式檔案,之後讀取輸入至控制台沒有報錯。但是切換至python3.3下,讀取同樣一個檔案,就報錯,提示:

/Users/nintenace/Desktop/learn_python

Traceback (most recent call last):

File “/Users/nintenace/Desktop/learn_python/test.py”, line 7, in

print(str)

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-2: ordinal not in range(128)

[Finished in 0.0s with exit code 1]

Preferences -> Browse Packages -> Python -> Python.sublime-build           

加上一句

env

,比如這樣:

{
    "cmd": ["python3.3", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "env": {"LANG": "en_US.UTF-8"}
}           

歡迎各位投稿補充

疑難雜症

篇。

|| 版權聲明:本文為部落客杜錦陽原創文章,轉載請注明出處。