【问题标题】:How to interact with console application using python?如何使用 python 与控制台应用程序交互?
【发布时间】:2020-11-09 15:17:50
【问题描述】:

我有一个 linux 控制台应用程序,它的行为方式与 bash 类似,它在以相同方式运行时接收命令,我想通过 Python 使用它(使用 python 向/从运行时的应用程序)。

有问题的应用程序是自定义 Minecraft 服务器软件,它似乎没有可用的 API/SDK 来满足我的需求

我如何能够使用 Python 代码运行它、捕获它的输出并与之交互(在程序中输入命令)。

【问题讨论】:

    标签: python-3.x linux console console-application


    【解决方案1】:

    您可以使用os.sytem(command) 来运行一个命令,或者如果您想要输出,然后尝试subprocess.check_output(commands),它会返回 bash 返回的任何内容。将命令列表传递给它,例如,要运行node index.js,您将传递["node", "index.js"]

    【讨论】:

    • 是的,但是我将如何与之交互,如果不清楚,抱歉
    • 我的答案未涵盖的内容是什么意思?
    • 我不明白如何在程序运行时传递命令,这有点像 bash,您可以在其中以类似的方式运行命令,例如,服务器软件有一个“帮助”命令,我会先运行它:运行服务器,然后在我运行服务器的 shell 中输入“帮助”
    • 您的代码将允许我向命令添加参数,但是,我不相信它能够允许我在命令应用程序运行时运行命令/向命令应用程序提供输入
    • 是的,我相信您是对的,在这种情况下,我无法为您解答,抱歉。但是,这可能涵盖您的问题:stackoverflow.com/questions/1124884/…
    猜你喜欢
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2011-09-05
    相关资源
    最近更新 更多