Python 在Tkinter上运行linux命令

Python 在Tkinter上运行linux命令,python,tkinter,apktool,Python,Tkinter,Apktool,我能够使用子流程模块通过GUI运行某些Linux命令,如ls-l。我还想创建一个GUI,在tkinter上执行apktool命令来反汇编apk文件。我该怎么做?我希望apktool命令能够动态工作 我的代码: 从tkinter导入* 导入子流程 def run(): 子进程运行([“apktool”、“d”、“music.apk”]) root=Tk() 按钮(root,text=“单击以运行'ls-l',command=run).pack() root.mainloop() 试试这个: 从tk

我能够使用
子流程
模块通过GUI运行某些Linux命令,如ls-l。我还想创建一个GUI,在
tkinter
上执行
apktool
命令来反汇编apk文件。我该怎么做?我希望
apktool
命令能够动态工作

我的代码:

从tkinter导入*
导入子流程
def run():
子进程运行([“apktool”、“d”、“music.apk”])
root=Tk()
按钮(root,text=“单击以运行'ls-l',command=run).pack()
root.mainloop()
试试这个:

从tkinter.filedialog导入askopenfilename
从tkinter进口*
导入子流程
def run():
apk_filepath=askopenfilename(文件类型=((“apk文件”、“*.apk”)、(“所有文件”、“*.apk”))
子流程运行([“apktool”,“d”,apk\u文件路径])
root=Tk()
按钮=按钮(root,text=“单击以运行'ls-l',命令=运行)
button.pack()
root.mainloop()

它使用
tkinter.filedialog.askopenfilename
向用户请求文件。

您已经能够运行命令并捕获其输出,对吗?运行
apktool
命令有什么问题?我能够运行linux命令,但我不知道如何通过我的GUI从tkinter import*import subprocess def run()动态运行apktool命令:subprocess.run([“apktool”,“d”,“music.apk”])root=Tk()按钮(root,text=“单击以运行'ls-l',command=run).pack()root.mainloop()每次运行此代码时,我都必须更改.apk文件名。我不想那样。我希望它搜索.apk filename,然后运行命令并反汇编该apkDo您希望用户能够选择要打开的文件,然后相应地运行命令吗?一旦我按下按钮,用户应该能够查看apk文件并从中选择一个,并且在子流程中运行的命令将反汇编该文件用户选择的特定apk文件。明白了,谢谢。@Prajwal顺便说一句,如果您想强制用户只选择
.apk
文件,请更改
文件类型=((“apk文件”,“*.apk”),((“所有文件”,“*.apk”),
文件类型=((“apk文件”,“*.apk”),)
是的,谢谢,所以我想在GUI中使用tkinter动态创建选项卡,而不是在每个函数中添加选项卡1和选项卡2。我该怎么做?@Prajwal你确定你最后的评论不是为了提问吗D