2012-07-10 87 views
3

我需要从运行在Python 2.7上的Python应用程序中读取Microsoft Project Plan(.mpp文件)。Python中的.mpp文件2.7

没有得到相同的任何资源或指针在网络上。

任何想法?

回答

3
  1. 您需要安装pywin3(适用于Windows扩展的Python)。
  2. 您可以对.mpp文件进行操作。

例子:

import win32com.client 

doc = 'C:\\Project1.mpp' 
try: 
    mpp = win32com.client.Dispatch("MSProject.Application") 
    mpp.Visible = 1 
    try: 
    mpp.FileOpen(doc) 
    proj = mpp.ActiveProject 
    print proj.BuiltinDocumentProperties(11), ",", proj.BuiltinDocumentProperties(12) 
    except Exception, e: 
    print "Error", e 
    mpp.FileSave() 
    mpp.Quit() 
except Exception, e: 
    print "Error opening file",e 
+0

如果OP不使用Windows或安装了Project,该怎么办? – darkphoenix 2012-07-10 17:06:48

+0

实际上,如果您使用的是Windows以外的其他操作系统,则无法解决问题。也许在Linux或类似的地方使用WINE。但我建议在Linux开发环境(或Mac)中尝试开发 中特定于Windows的代码,为自己的背后创建一个标杆。 – fsenart 2012-07-10 19:11:02

+0

当你说如果项目已安装时,你是什么意思?你想处理.mpp文件不是吗? – fsenart 2012-07-10 19:11:34

2

您可能会发现,你可以达到你所需要的使用MPXJ虽然你要么需要使用一个基于JVM的Python(如Jython中)与Java版本的工作或者基于CLR的Python(例如IronPython或Python.Net)来使用库的.Net版本,或者您需要使用桥接库(例如JPype)。