如何在Python中通过单个.py文件根据用户选择运行指定的.py脚本
实现代码
直接将以下内容保存为run.py即可使用:
import subprocess import sys def main(): # 输出操作提示 print("press 1 to run pyapp_1.py ") print("press 2 to run pyapp_2.py ") print("press 3 to run pyapp_3.py") # 获取用户输入 user_choice = input("请输入对应数字:").strip() # 配置数字和脚本的映射关系 script_mapping = { "1": "pyapp_1.py", "2": "pyapp_2.py", "3": "pyapp_3.py" } # 校验输入合法性 if user_choice not in script_mapping: print("输入错误,请输入1、2、3中的有效数字") sys.exit(1) # 执行对应脚本 subprocess.run( [sys.executable, script_mapping[user_choice]], check=True ) if __name__ == "__main__": main()
注意事项
- 请确保
pyapp_1.py、pyapp_2.py、pyapp_3.py和run.py存放在同一个目录下 - 代码中使用
sys.executable调用当前运行run.py的Python解释器,可避免多Python版本环境下执行环境不匹配、依赖找不到的问题 - 如果你不需要子脚本运行报错时自动终止
run.py,可以删掉subprocess.run的check=True参数,也可以自行添加try-except块捕获异常做自定义处理 - 如果需要支持输错后重新输入、不用退出程序,可以把用户输入的逻辑套入
while循环,输入合法后再跳出循环执行后续逻辑
内容的提问来源于stack exchange,提问作者mikhail
相关产品推荐
相关产品推荐

