You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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这个轻量级第三方库实现,它专门做终端选择菜单,直观又好用。

步骤:

  1. 先安装pick库:
pip install pick
  1. 编写工具脚本(比如命名为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:42:20