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

如何为Python生成的.exe程序添加help命令?

给Python转成的EXE添加Help命令支持

不需要额外创建.ini或.bat文件,直接在Python源码里处理命令行参数是最标准、最直接的实现方式,以下是具体步骤:

方法一:用基础的sys.argv处理(轻量简单)

直接读取命令行参数,判断用户是否输入了help指令:

import sys

def show_help():
    help_content = """
=== 程序帮助信息 ===
功能:[这里填写你的程序核心功能]
使用方式:
  your_program.exe          执行主程序功能
  your_program.exe help     显示本帮助信息
其他说明:[补充你的程序其他细节]
    """
    print(help_content)

def main():
    # 检查是否传入help参数
    if len(sys.argv) > 1 and sys.argv[1].lower() == "help":
        show_help()
        return
    # 这里写你的主程序逻辑
    print("运行主程序...")

if __name__ == "__main__":
    main()

方法二:用argparse模块(规范专业)

Python自带的argparse可以自动生成格式化的帮助信息,还支持更多参数定义:

import argparse

def main():
    # 创建参数解析器并添加程序描述
    parser = argparse.ArgumentParser(description="你的程序的核心功能描述")
    # 可以添加自定义参数(如果需要)
    # parser.add_argument("--input", type=str, help="输入文件路径")
    
    # 解析参数,用户输入-h/--help时自动显示帮助
    args = parser.parse_args()
    
    # 主程序逻辑
    print("运行主程序...")

if __name__ == "__main__":
    main()

如果想支持your_program.exe help这种指令形式,可以添加子命令:

import argparse

def show_help(args):
    print("=== 程序帮助信息 ===\n功能:[你的程序功能]\n使用说明:...")

def main():
    parser = argparse.ArgumentParser(description="你的程序描述")
    # 添加子命令
    subparsers = parser.add_subparsers(dest="command")
    # 注册help子命令
    subparsers.add_parser("help", help="显示帮助信息")
    
    args = parser.parse_args()
    if args.command == "help":
        show_help(args)
        return
    # 主程序逻辑
    print("运行主程序...")

if __name__ == "__main__":
    main()

打包与使用

  1. 用你之前的打包工具(比如PyInstaller)重新打包修改后的脚本,例如:
    pyinstaller --onefile your_script.py
    
  2. 在CMD中进入EXE所在目录,输入以下指令即可查看帮助:
    • 方法一/子命令版:your_program.exe help
    • argparse基础版:your_program.exe -h 或 your_program.exe --help

注意:直接输入系统自带的help命令不会触发你的程序帮助,必须指定你的EXE文件名加对应参数。

内容的提问来源于stack exchange,提问作者chronowix

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:35:19