在Tkinter上运行Linux终端命令

时间:2019-02-04 05:16:34

标签: python user-interface ubuntu tkinter terminal

我打算创建一个GUI,该GUI需要在linux终端上执行一些命令。如何在Tkinter GUI按钮上执行Linux终端命令?

2 个答案:

答案 0 :(得分:1)

您需要一个在单击按钮时运行Linux命令的功能。

为此,Python的内置库subprocess就足够了。为了在终端中运行简单的ls -l,语法如下:

subprocess.run(["ls", "-l"])

对于带有用法的示例tkinter程序,必须将subprocess.run()包装在一个函数中。例如:

from tkinter import *
import subprocess

def run():
    subprocess.run(["ls", "-l"])

root = Tk()
Button(root, text="Click to run 'ls -l'", command=run).pack()
root.mainloop()

要详细了解subprocess模块以及如何从终端捕获输出:https://docs.python.org/3/library/subprocess.html

答案 1 :(得分:0)

要执行命令,请使用名为 subprocess 的python模块。代码如下:

import subprocess
test = subprocess.Popen(["ping","-W","2","-c", "1", "192.168.1.70"], stdout=subprocess.PIPE)
output = test.communicate()[0]
print(output)