我是 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/