我正在创建一个 Python 脚本,它执行一系列任务,其中一个任务是启动并打开 Excel 实例。在我的脚本中实现这一目标的理想方法是什么?

有帮助吗?

解决方案

虽然Popen答案对于一般情况是合理的,但我建议win32api针对这个特定情况,如果你想对它做一些有用的事情:

它是这样的:

from win32com.client import Dispatch
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open('C:\\Documents and Settings\\GradeBook.xls')
xl.Visible = True    # optional: if you want to see the spreadsheet

取自邮件列表帖子但是周围有很多例子。

其他提示

os.system("start excel.exe <path/to/file>")

(假设它在路径中,而你在窗户上)

并且在Windows上,只是start <filename>也可以工作 - 如果它已经是一个关联的扩展(如xls那样)

我喜欢popen2来监控这个过程。

excelProcess = popen2.Popen4("start excel %s" % (excelFile))
status = excelProcess.wait()

http://www.python.org/doc/ 2.5.2 / LIB /模块popen2.html

编辑:请注意,调用wait()将会阻塞,直到进程返回。根据您的脚本,这可能不是您想要的行为。

子流程 module 旨在替换其他几个较旧的模块和功能,例如:

  • 操作系统
  • 操作系统.spawn*
  • 操作系统.popen*
  • 波彭2.*
  • 命令。*

.

import subprocess

process_one = subprocess.Popen(['gqview', '/home/toto/my_images'])

print process_one.pid

正如其他人所说,我建议使用os.system。如果有人正在寻找与Mac兼容的解决方案,这里有一个例子:

import os
os.system("open /Applications/Safari.app")

os.system(<!> quot; open file.xls <!> quot;)

我喜欢os.startfile("path to file"),因为它会打开文件,就像你双击打开一样。

我发现用os.system("start excel filename")打开它就像从网络上打开的文件一样,你必须启用编辑。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top