Dzwebs.Net

撰写电脑技术杂文十余年

python使用相对路径打开word的docx文档提示错误

Admin | 2021-10-10 20:22:31 | 被阅次数 | 44

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  最近在研究使用python操作word,偶然发现docx文档的路径问题。

  一、问题描述

  在使用相对路径的时候,无论使用哪种方法,当python的路径发生变化的时候,就无法正常打开docx文档。

  但是奇怪的是,就算路径怎么变化,通过相对路径打开非word文档却是正常的。

  如:with open('host.txt', 'r') as f:#这种正常

  df=pd.read_excel('XXX.xlsx')#这种也正常

  但是下面这种就不正常了。

  MyWordApp = win32com.client.Dispatch('Word.Application') # alternately DispatchEx
       MyWordApp.Visible=False
       MyWord=MyWordApp.Documents.Open('XX证明.docx')

  如果上述的路径,改为绝对路径,就正常,如

  MyWord=MyWordApp.Documents.Open(r'd:\abc\XX证明.docx')

  就算通过绝对路径变得正常了,我依然不想使用绝对路径,因为使用绝对路径,会导致程序没有任何的灵活性。

  二、解决办法

  如何不使用绝对路径也能让程序变得灵活呢?请使用下面的方法。

  MyWordApp = win32com.client.Dispatch('Word.Application') # alternately DispatchEx
  MyWordApp.Visible=False
  MyWord=MyWordApp.Documents.Open(os.getcwd()+'\XX证明.docx')

  是通过os.getcwd()这个来解决的。

  现在问题虽然解决了。但是,我依然搞不明白,为什么docx文档不能直接使用相对路径,而其它类型的文件就可以呢?


网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231