簡體   English   中英

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

[英]How to run a command line program with interactive inputs from python?

我是Python的新手。 我使用從Windows命令提示符運行的分子建模程序(Fortran,無源代碼),該命令提示符提示用戶插入變量,例如對稱性,分子數,文件名等,然后運行模擬並輸出結果模擬為.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 Popen.communicate() stdout=subprocess.PIPE, stdin=subprocess.PIPE Popen.communicate()

該鏈接提供了一些非常好的示例。

你想看看pexpect 但是,由於您使用的是Windows,因此您需要查看wexpect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM