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

标签 python command-line command-prompt

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

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

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

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

3)生成输出文件

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

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

谢谢。 我运行的是 Windows 7。

最佳答案

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

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

关于python - 如何使用 python 的交互式输入运行命令行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19431225/

相关文章:

python - 使用 python 替换文件中的行的方法是什么

python - 如何将平流扩散 react 偏微分方程与 FiPy 耦合

android - 在 Windows XP 的命令提示符下创建 AVD 问题

python - AttributeError: 'Series' 对象没有属性 'isoweekday'

python - gettar 属性错误 - Python

windows - Win32 ASM 程序不向命令行打印任何内容

google-chrome - 你如何以编程方式更改 chrome 上的默认下载目录?

java - 通过命令行管理 Tomcat 中的 Web 应用程序

java - 无法在 Windows 命令行上使用 json-simple

windows - 打印文件(记事本) 打印文档中没有出现文件名