PyQt轉換路徑中得斜杠(斜杠(/)與反斜杠()轉換)

目錄

1.問題背景        

PyQt是寫Python圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口)得一大利器,但是因為其跨平臺得特性,導致可能在Windows系統上使用得GUI使用得路徑是由斜杠(/)組成得,而Windows系統默認使用得是反斜杠(),如下圖:

這就會導致一些不可預料得錯誤發生,如我在之前得博客里面所講:

Python提取Word中得圖片

在使用doc2docx進行doc文件轉為docx文件時,在獲取用戶需要處理得路徑后調用doc2docx,在高版本pywin32中,已經不支持傳入得路徑由斜杠組成了,會引發pywintypes.com_error報錯(老版本221可以支持斜杠組成得文件路徑):

Traceback (most recent call last):
  File "C:UsersJayceAnaconda3envstf1.7libsite-packagesIPythoncoreinteractiveshell.py", line 3343, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-f52e8eccf39d>", line 1, in <module>
    runfile('E:/Code/Python/doc2docx.py', wdir='E:/Code/Python')
  File "C:Program FilesJetBrainsPyCharm 2020.1pluginspythonhelperspydev_pydev_bundlepydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:Program FilesJetBrainsPyCharm 2020.1pluginspythonhelperspydev_pydev_imps_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"n", file, 'exec'), glob, loc)
  File "E:/Code/Python/doc2docx.py", line 30, in <module>
    doc2docx(doc_path, docx_path)
  File "E:/Code/Python/doc2docx.py", line 15, in doc2docx
    doc = word.Documents.Open(doc_name)
  File "<COMObject <unknown>>", line 8, in Open
pywintypes.com_error: (-2147352567, '發生意外。', (0, 'Microsoft Word', '很抱歉,找不到您得文件。該項目是否已移動、重命名或刪除?r (E:\//Win10/Datasets/Test%20sample/提取圖...)', 'wdmain11.chm', 24654, -2146823114), None)

2.解決方案

2.1.斜杠轉反斜杠( / 轉 )

使用QtCore.QDir.toNativeSeparators方法:

from PyQt5 import QtCore # word操作庫只支持反斜杠,所以需要將QT拿到得正斜杠(/)轉反斜杠()doc_path = r'E:/Win10/Datasets/Test sample/提取圖片/tmp.doc'print('原始路徑:{}'.format(doc_path))path = QtCore.QDir.toNativeSeparators(doc_path)print('轉換后路徑:{}'.format(path))

可以看到成功轉化:

2.2.反斜杠轉斜杠( 轉 / )

使用QtCore.QDir.fromNativeSeparators方法: 

# 反斜杠()轉正斜杠(/)doc_path = r'E:Win10DatasetsTest sample提取圖片tmp.doc'print('原始路徑:{}'.format(doc_path))path = QtCore.QDir.fromNativeSeparators(doc_path)print('轉換后路徑:{}'.format(path))

可以看到成功轉化:

到此這篇關于PyQt轉換路徑中得斜杠(斜杠(/)與反斜杠()轉換)得內容就介紹到這了,更多相關PyQt轉換路徑斜杠內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 丰满少妇被猛男猛烈进入久久| 国产成人精品综合久久久| 人人影院免费大片| ts人妖系列在线专区| 真实国产乱子伦久久| 尹人久久久香蕉精品| 再深点灬舒服灬在快点视频| 一级片免费网站| 美女黄18以下禁止观看| 成年无码av片完整版| 卡一卡2卡3卡精品网站| 一区二区三区免费高清视频| 电影在线观看视频| 国内精品国产成人国产三级| 亚洲日韩欧美一区久久久久我| 87福利电影网| 极品一线天馒头lj| 国产床戏无遮挡免费观看网站 | 中文字幕精品在线| 老熟妇仑乱一区二区视頻| 成人午夜兔费观看网站| 免费无遮挡无码视频在线观看| av在线播放日韩亚洲欧| 欧美日韩一区二区综合| 国产男女猛视频在线观看网站| 久久精品国产99精品国产亚洲性色| 青草影院内射中出高潮| 成人看的午夜免费毛片| 伊人久久大香线蕉亚洲| 2020年亚洲天天爽天天噜| 暖暖免费中国高清在线| 国产一级淫片视频免费看| 一本大道香蕉大vr在线吗视频| 波多野结衣种子网盘| 国产精品1024永久免费视频| 久久文学网辣文小说| 老子的大ji巴cao死你| 天天操天天操天天射| 亚洲人成在线观看| 蜜桃精品免费久久久久影院| 女教师合集乱500篇小说|