如何使用python的交互式输入运行命令行程序?

时间:2013-10-17 15:40:39

标签: python command-line command-prompt

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

我想用python自动化输入过程,每次都改变一个变量。 python程序看起来像这样:

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

2)当程序提示时,按顺序输入var 1,var 2,var 3等。

3)生成输出文件

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

我无法弄清楚如何执行第2步。我认为子进程应该可以工作,但我无法弄清楚如何仅在建模程序提示时输入每个变量。甚至可以这样做吗?

感谢。 我正在运行Windows 7。

2 个答案:

答案 0 :(得分:1)

您希望查看subprocess模块,特别是设置Popen.communicate()的{​​{1}}。

This link给出了一些不错的例子。

答案 1 :(得分:0)

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