在使用python进行开发时,有时会遇到需要在交互界面上点击按钮并运行批处理(bat、cmd)文件来执行一系列动作的需求,可以参考以下代码:
import tkinter as tk # 导入Tkinter库
import subprocess # 导入subprocess库
def run_bat():
# 使用subprocess.call函数调用批处理文件
subprocess.call(["your_batch_file.bat"])
# 创建一个Tk对象,用作主窗口
root = tk.Tk()
# 创建一个Frame对象,用作容器
frame = tk.Frame(root)
# 将Frame对象放入主窗口中
frame.pack()
# 创建一个Button对象,用作按钮
button = tk.Button(frame,
text="Run Batch File", # 设置按钮文本
command=run_bat) # 设置按钮点击事件的回调函数
# 将Button对象放入Frame对象中
button.pack(side=tk.LEFT)
# 运行主窗口
root.mainloop()
上述代码实现了以下功能:
run_bat
函数,该函数使用subprocess.call
调用了一个名为your_batch_file.bat
的批处理文件。注:代码中使用subprocess.call()函数会在点击按钮后不等bat文件执行完毕即弹开按钮(继续进行接下来的操作),若换成subprocess.getoutput()函数,在点击按钮后,会等该bat命令执行完毕,再继续接下来的操作。