❶ python 中文路徑
windows系統用的不是utf8編碼中文,而是gb系列。
所以你給人家把gbk decode再encode成utf8, 系統就不認識了。
❷ python如何輸入輸出中文
1,在文件夾中新建一個test.py的文件。
❸ 如何用Python 打開包含中文的路徑(是打開文件夾,不是文件)
start_directory="D:\\我的項目文件\\8482\\".dencode('utf8').encode('cp936') # 轉換一下編碼應該就OK了
❹ 您好 python用open打開文件 其中路徑有中文應該怎麼解決 自己搞不太明白 謝謝大神了:)
腳本開頭加上下面這句:
#-*-coding:utf-8-*-
這句用於定義Python的默認編碼格式。
若代碼或注釋中含中文,python會使用unicode編碼格式,這樣會報錯。
所以,python編程時最好習慣性地加上這句編碼格式的聲明。
❺ 如何解決python不支持中文路徑的問題
newpath = unicode(path, "utf-8")
沒有加後面的encode,win10下python2.7親測可用。
(當然,換用Python3之後就沒有這個問題了~)
❻ python 中文路徑名問題
沒裝windows,不過windows用cp936不是utf8
❼ 如何解決Python中文問題
python的中文問題一直是困擾新手的頭疼問題,Python的發行版至今尚未包括任何中文支持模塊。當然,幾乎可以確定的是,在將來的版本中,python會徹底解決此問題,不用我們這么麻煩了。 筆者使用的是2.5版本。Python的版本可以通過調用sys模塊的sys.version查看。在幾個月的學習中,主要遇到以下問題:
1. print列印中文的問題:
在編輯器中輸入一段測試代碼:
s=』測試』
print s
運行結果如下:
Non-ASCII character '\xb2' in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details: 2.py, line 1, pos 0
原因是如果文件里有非ASCII字元,需要指定編碼聲明。把2.py文件的編碼重新改為utf-8,並加上編碼聲明:
# -*- coding: utf-8 -*-
s=』測試』
print s
運行後可以正確列印中文。
2.中文路徑的問題。
在D盤下保存一個名字為『中文.txt『的文件。運行如下測試代碼:
# -*- coding: utf-8 -*-
f=open('D:\\中文.txt', 'r')
print f.read()
運行結果如下:
IOError: [Errno 2] No such file or directory: 'D:\\\xe4\xb8\xad\xe6\x96\x87.txt'
字元串有很多的編碼,不同的系統和平台有各自的編碼 ,為了實現系統或平台之間的信息交互可能需要編碼轉換。這里只需要先使用UNICODE編碼一下,這樣再讀取中文路徑就不會有問題了:
復制代碼
# -*- coding: utf-8 -*-
path='D:\\中文.txt'
spath=unicode(path , "utf8")
f=open(spath,'r')
print f.read()
復制代碼
然後就可以正確顯示文件內容
總結:
所有的中文顯示問題都可以歸結為編碼問題,遇到其他類似的問題,那隻能仔細看文檔,靠你的經驗,靠你多做測試。而且根據python所報出來的錯誤一般也可以判斷出來。那麼當發現需要編碼轉換時,剩下的就是如何正確進行碼制轉換。
為了正確處理多語言文本,Python在2.0版後引入了Unicode字元串。從那時起,Python語言中的字元串就分為兩種:一種是2.0版之前就已經使用很久的傳統Python字元串,一種則是新的Unicode字元串。在Python語言中,一般的解決辦法是使用unicode()內建函數對一個傳統Python字元串進行「解碼」,得到一個Unicode字元串,然後又通過Unicode字元串的encode()方法對這個Unicode字元串進行「編碼」,將其「編碼」成為傳統Python字元串。
❽ Python+selenium上傳中文路徑文件時亂碼
這個應該和selenium沒多少關系,而是應該查看一下上傳.html本身的編碼。可以用記事本打開另存為對話框看是什麼編碼,一般改成utf-8
❾ python中讀取文件(路徑含中文)出現亂碼問題。
沒有Python3 。
你試一下
path='Py....'#下面添加一行
path=path.decode('gbk')