1

我是 Python 新手。我使用从 Windows 命令提示符运行的分子建模程序(Fortran,无源代码),提示用户插入变量,例如对称性、分​​子数、文件名等,然后运行模拟并输出结果模拟为 .pdb 和 .txt 文件。在建模程序中,我必须等待特定提示输入每个变量。

我想用python自动化输入过程,每次改变一个变量。python 程序如下所示:

1)启动建模程序(“牧场”)

2) 程序提示时,依次输入var 1、var 2、var 3等。

3) 生成输出文件

4) 使用新的 var 1 回到第一,保持所有其他变量相同。

我不知道如何执行第 2 步。我认为 subprocess 应该可以工作,但我不知道如何仅在建模程序提示时输入每个变量。甚至有可能做到这一点吗?

谢谢。我正在运行 Windows 7。

4

2 回答 2

1

您想查看subprocess模块,特别是Popen.communicate()使用stdout=subprocess.PIPE, stdin=subprocess.PIPEset。

这个链接给出了一些很好的例子。

于 2013-10-17T15:45:00.667 回答
0

你想看看pexpect。但既然你在 Windows 上,你会想看看wexpect

于 2013-10-17T15:45:16.153 回答