计算化学公社

标题: python中如何调用Multiwfn程序 [打印本页]

作者
Author:
lp2014    时间: 2018-4-18 06:22
标题: python中如何调用Multiwfn程序
基于Gaussian的计算文件,欲批量计算不同分子中不同片段对某些轨道的成分分析。在python中循环不同分子及定义片段等,该如何调用Multiwfn程序呢?
有一个想法是:
import subprocess
subprocess.Popen("D:\Program Files (x86)\Multiwfn_3.4(dev)_bin_Win/Multiwfn")
当运行python程序时,可以进入Multiwfn界面:(input path of file),如何将分析轨道成分的输入(8/-1/a 1-33/q……)等输入给Multiwfn呢?谢谢

作者
Author:
liyuanhe211    时间: 2018-4-18 07:28
本帖最后由 liyuanhe211 于 2018-4-18 07:29 编辑

如果要输入的命令在启动界面前已知(不需要根据 Multiwfn 输出的内容现行判断决定),则给 subprocess.call 的 stdin 赋值一个写好了 Multiwfn 内部命令的文件(每行一条)就可以了。

如果相反,程序需要“看” Multiwfn 的输入,找到的最好解决方法是用 PyQt 的 QProcess,有点杀鸡用牛刀,但是真·杀鸡刀调起来费劲。
作者
Author:
Graphite    时间: 2018-4-19 04:38
不建议用popen, 建议try subprocess.check_call, 同时except subprocess.CalledProcessError




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3