2013-03-06 138 views
0

在我的代碼中,我調用位於名爲「Física」的文件夾中的文件(請注意「i」是銳角)。帶特殊字符的文件夾py2exe

我沒有在我的IDE(Spyder的)運行此的任何問題,但我把我的程序與py2exe可執行文件後,我得到一個錯誤:

"UnicodeEncodeError: 'ascii' codec can't encode character u'\xed'" 

的問題是,因爲這些特殊字符。我怎麼解決這個問題?

我試着做以下

path = unicode(path).encode('utf-8') 

治療用UTF-8編碼的路徑。但是,如果我這樣做,我的路徑將是:

F\xc3\xadsica代替Física

+0

你如何設置'path'?該函數(不管它是什麼)需要返回unicode。 – danodonovan 2013-03-07 09:17:48

回答

1

我發現了什麼,我做錯了:

我想讀從該路徑下的文件,然後寫一個文件到相同的路徑。當我將它保存在一個變量中時,我在utf-8中編碼路徑。但是,在使用該變量寫入路徑時,我沒有使用解碼。

當設置目標路徑時,我需要使用'encode('utf-8')'保存路徑到變量,然後使用'decode('utf-8')'。非常感謝你,對於可憐的解釋感到抱歉