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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: