当前位置: 首页>>代码示例>>Python>>正文


Python Dispatch.DisplayEveryIteration方法代码示例

本文整理汇总了Python中win32com.client.Dispatch.DisplayEveryIteration方法的典型用法代码示例。如果您正苦于以下问题:Python Dispatch.DisplayEveryIteration方法的具体用法?Python Dispatch.DisplayEveryIteration怎么用?Python Dispatch.DisplayEveryIteration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在win32com.client.Dispatch的用法示例。


在下文中一共展示了Dispatch.DisplayEveryIteration方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Add3DCoordsToMol

# 需要导入模块: from win32com.client import Dispatch [as 别名]
# 或者: from win32com.client.Dispatch import DisplayEveryIteration [as 别名]
def Add3DCoordsToMol(data, format, props={}):
  """ adds 3D coordinates to the data passed in using Chem3D

    **Arguments**

      - data: the molecular data

      - format: the format of _data_.  Should be something accepted by
        _CDXConvert_

      - props: (optional) a dictionary used to return calculated properties
  
  """
  global c3dApp
  if c3dApp is None:
    StartChem3D()
  if format != 'chemical/mdl-molfile':
    molData = CDXClean(data, format, 'chemical/mdl-molfile')
  else:
    molData = data
  molFName = tempfile.mktemp('.mol')
  open(molFName, 'wb+').write(molData)
  doc = c3dApp.Documents.Open(molFName)

  if not doc:
    print('cannot open molecule')
    raise ValueError('No Molecule')

  # set up the MM2 job
  job = Dispatch('Chem3D.MM2Job')
  job.Type = 1
  job.DisplayEveryIteration = 0
  job.RecordEveryIteration = 0

  # start the calculation...
  doc.MM2Compute(job)
  # and wait for it to finish
  while doc.ComputeStatus in [0x434f4d50, 0x50454e44]:
    pass
  #outFName = tempfile.mktemp('.mol')
  # this is horrible, but apparently Chem3D gets pissy with tempfiles:
  outFName = os.getcwd() + '/to3d.mol'
  doc.SaveAs(outFName)

  # generate the properties
  for prop in availChem3DProps:
    props[prop] = eval('doc.%s' % prop)

  doc.Close(0)

  os.unlink(molFName)
  c3dData = open(outFName, 'r').read()
  gone = 0
  while not gone:
    try:
      os.unlink(outFName)
    except Exception:
      time.sleep(.5)
    else:
      gone = 1
  return c3dData
开发者ID:connorcoley,项目名称:rdkit,代码行数:63,代码来源:chemdraw.py


注:本文中的win32com.client.Dispatch.DisplayEveryIteration方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。