【问题标题】:How to run a command line program with interactive inputs from python?如何使用来自 python 的交互式输入运行命令行程序?
【发布时间】:2013-10-17 15:40:38
【问题描述】:

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

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

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

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

3) 生成输出文件

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

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

谢谢。 我正在运行 Windows 7。

【问题讨论】:

    标签: python command-line command-prompt


    【解决方案1】:

    您想查看subprocess 模块,特别是设置了stdout=subprocess.PIPE, stdin=subprocess.PIPEPopen.communicate()

    This link 给出了一些很好的例子。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-13
        • 1970-01-01
        • 2012-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多