使用Python打开Word文档

15

我想在Python中自动打开一个Word文档。我对编程非常陌生,听说这个网站可以帮助那些遇到困难的人。

我查看了各种问题并找到了以下内容:

DummyFile = path_to_docx
with open(DummyFile) as f:
    source_stream = io(f.read())
document = doc(source_stream)
source_stream.close()

但是当我运行它时,我得到了以下结果:
 UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 74: character maps to <undefined>

看起来这段代码不是我想要的。我相信它试图读取我的文档并将其放入变量中。这不是我想要的。我想要的是执行命令后,能够在Microsoft Word中打开Word文档

期望结果:

Word文档将在Microsoft Word中打开,如下所示:

here


7
这是一个非常好的初学者问题。你显然已经阅读了如何提问的说明,并且在执行时做得相当不错。这真的很少见。欢迎来到SO! - Mad Physicist
1
你说“使用Python打开Word文档”(即似乎是指使用某个包从Python中访问文档),但你真正想做的是“使用Python打开MS-Word中的文档”(即调用操作系统启动运行MS-Word的进程并在其中打开文档) - smci
2个回答

13

你在问题中贴的代码将 Word 文件读取为 Python 对象以便进行处理,而不是启动 Word 应用程序。

你需要做的是滥用 Windows 的“启动”命令,这将在 Windows shell 中为具有该扩展名的文件启动相应的应用程序,例如...

os.system('start mywordfile.docx')

我没有安装Word,但我用PNG图像文件试过了这个方法...

os.system('start mydiagram.png')

它在 Windows 10 上以相片应用程序的形式打开得很好。


3
请注意,OP已将文件名保存在变量中。如果文件名包含空格,则需要使用引号。 - Mad Physicist
1
如果参数来自用户输入,则存在shell命令注入的风险(攻击者可以执行任意命令)。 - NineBerry

12

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接