我正在创建一个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")
(假设它在路径中,而你在窗户上)
而且在Windows上,也可以start
工作 - 如果它已经是一个相关的扩展(如xls那样)
我喜欢popen2来监控这个过程.
excelProcess = popen2.Popen4("start excel %s" % (excelFile)) status = excelProcess.wait()
http://www.python.org/doc/2.5.2/lib/module-popen2.html
编辑:请注意,调用wait()将阻塞,直到进程返回.根据您的脚本,这可能不是您想要的行为.
该子模块打算更换其他几个,旧的模块和功能,如:
使用os.system
os.spawn*
os.popen*
popen2.*
命令.*
.
import subprocess process_one = subprocess.Popen(['gqview', '/home/toto/my_images']) print process_one.pid