python讀取中文路徑時出錯(2種解決方案)
編碼問題可能導致python讀取中文路徑時出錯
解決方法一:路徑拆分單獨編碼
import os root_path = 'E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\'+u'褲子' for file in os.listdir(root_path): print file.decode('gbk')
方法二:對全部路徑用unicode格式編碼
root_path = unicode('E:\\project\\sk_man-master\\SK\\static\\sk\\new_clothes\\褲子','utf-8')
補充:python讀取word路徑出錯
python讀取doc文檔不方便,所以上文鏈接中把doc文件轉存成docx,但是我在使用這個代碼時,路徑一直出錯還會報一些奇怪的錯誤
pywintypes.com_error: (-2147023174, ‘rpc 服務器不可用。’, none, none)
查詢得知這隻是一個亂碼,指示路徑不可用
但我在嘗試各種路徑的寫法後發現都有錯誤,
遂使用 os.path.abspath的方法獲取到絕對路徑
rootdir = 'E:\python project\英語六級' def doSaveAas(): word = wc.Dispatch('Word.Application') out_name = filename.replace("doc", r"docx") in_file = os.path.abspath(rootdir + "\\" + filename) out_file = os.path.abspath(rootdir + "\\" + out_name) doc = word.Documents.Open(in_file) # 目標路徑下的文件 doc.SaveAs(out_file, 12, False, "", True, "", False, False, False, False) # 轉化後路徑下的文件 doc.Close() word.Quit()
這樣修改之後就好瞭
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- python 實現docx與doc文件的互相轉換
- Python實現對word文檔添加密碼去除密碼的示例代碼
- Python實現Word文檔轉換Markdown的示例
- 深入解析python項目引用運行路徑
- Python辦公自動化從Excel中計算整理數據並寫入Word