在Python中打印word文档

2024-06-16 10:45:59 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有一个简单的批处理文件,它将从命令行打印word文档。在

"C:\Program Files\Microsoft Office\Office12\winword.exe" "p:\docs\daily checks.doc" /mFilePrintDefault /mFileExit

我正在尝试将它放入一个python脚本中,我使用

^{pr2}$

我似乎无法在命令中获取/mFilePrintDefault /mFileExit部分,我尝试过使用不带+的+'"/mFilePrintDefault /mFileExit"'plus,但是文档无法打开。在

你能帮我看看如何打印这个word文档吗,或者有更好的方法吗

提前谢谢


Tags: 文件命令行文档docsfilesprogramexemicrosoft
2条回答

尝试使用以下方法:

subprocess.Popen('"C:\\Program Files\Microsoft Office\Office12\winword.exe" m"P:\\docs\\daily checks.doc" /mFilePrintDefault /mFileExit')

Popen需要一个完整的字符串或一个参数列表,基本上是将您在shell中键入的内容输入Popen中,它就可以工作了。在

documentation on Popen声明:

args should be a string, or a sequence of program arguments.

这应该是有效的:

subprocess.Popen(["C:\\Program Files\Microsoft Office\Office12\winword.exe", "P:\\docs\\daily checks.doc", "/mFilePrintDefault", "/mFileExit"]).communicate()

或者,另一方面

^{pr2}$

使用shell=True时,命令是通过shell执行的。这意味着您必须按照在shell中编写命令的方式传递单个字符串,也就是说,要使用引号来防止要拆分空格的参数。在

使用shell=False(默认值)时,命令不会通过shell执行。这就意味着你得自己分辩。这样做的方法是传递一个包含所有参数的列表。在这种情况下,不需要额外的引用,因为list元素已经提供了这些信息。在

相关问题 更多 >