Ubuntu环境下Python多脚本运行交互界面实现方案咨询
两种实用的Python脚本选择执行工具方案
Hey Sam, I’ve got two solid solutions for you that’ll eliminate that tedious path-hunting and manual input. Let’s break them down step by step:
方案1:命令行交互式选择工具(方向键操作)
这个方案适合偏爱终端操作的用户,用方向键就能快速选中要运行的脚本,完全不用手动敲路径。我们可以用pick这个轻量级第三方库实现,它专门做终端选择菜单,直观又好用。
步骤:
- 先安装
pick库:
pip install pick
- 编写工具脚本(比如命名为
script_launcher.py):
import os import subprocess from pick import pick # 替换成你的Python脚本实际存放目录 SCRIPT_DIR = "/path/to/your/scripts/folder" def main(): # 获取目录下所有.py文件,排除当前工具脚本本身 scripts = [ f for f in os.listdir(SCRIPT_DIR) if f.endswith(".py") and f != os.path.basename(__file__) ] if not scripts: print("No Python scripts found in the directory.") return # 显示选择菜单,用户用方向键上下切换,回车确认 title = "Select a script to run:" selected_script, _ = pick(scripts, title) # 拼接完整路径并执行脚本 script_path = os.path.join(SCRIPT_DIR, selected_script) print(f"Running {selected_script}...") subprocess.run(["python", script_path]) if __name__ == "__main__": main()
使用方式:
- 把
SCRIPT_DIR改成你的脚本所在目录 - 运行这个工具脚本,用方向键选择目标脚本,按回车就会自动执行
方案2:简易GUI按钮工具(点一下就跑)
如果更喜欢可视化界面,用Python自带的tkinter库就能快速做一个带按钮的小应用,不需要额外安装任何第三方库。
编写工具脚本(比如命名为gui_script_launcher.py):
import tkinter as tk import os import subprocess # 替换成你的Python脚本实际存放目录 SCRIPT_DIR = "/path/to/your/scripts/folder" def run_script(script_path): # 用子进程启动脚本,避免阻塞GUI界面 subprocess.Popen(["python", script_path]) def main(): root = tk.Tk() root.title("Script Launcher") # 获取目录下所有.py文件,排除当前工具脚本 scripts = [ f for f in os.listdir(SCRIPT_DIR) if f.endswith(".py") and f != os.path.basename(__file__) ] if not scripts: tk.Label(root, text="No Python scripts found!").pack(pady=20) else: # 为每个脚本生成一个按钮 for script in scripts: script_path = os.path.join(SCRIPT_DIR, script) btn = tk.Button(root, text=script, command=lambda path=script_path: run_script(path)) btn.pack(pady=5, padx=20, fill=tk.X) root.mainloop() if __name__ == "__main__": main()
使用方式:
- 修改
SCRIPT_DIR为你的脚本目录 - 运行这个脚本,会弹出一个窗口,每个脚本对应一个按钮,点击按钮就会启动对应的脚本
额外小技巧
- 打包成可执行文件:如果想不用每次打开终端运行工具,可以用
pyinstaller把脚本打包成exe(Windows)或app(Mac):pip install pyinstaller # 打包命令行工具 pyinstaller --onefile script_launcher.py # 打包GUI工具(加--noconsole避免弹出终端) pyinstaller --onefile --noconsole gui_script_launcher.py - 动态脚本目录:可以把脚本目录改成命令行参数,这样不用每次修改代码:
import sys SCRIPT_DIR = sys.argv[1] if len(sys.argv) > 1 else "/default/path"
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

