Python命令行程序,如何快速实现简单命令解析功能?

就是一个简单的 shell 功能。
Python命令行程序,如何快速实现简单命令解析功能?

18 回复

argparse 库就行,这是标准库里的,不用装别的。给你个最直接的例子:

import argparse

def main():
    parser = argparse.ArgumentParser(description='我的命令行工具')
    parser.add_argument('input_file', help='输入文件路径')
    parser.add_argument('-o', '--output', help='输出文件路径')
    parser.add_argument('-v', '--verbose', action='store_true', help='显示详细信息')
    
    args = parser.parse_args()
    
    print(f"处理文件: {args.input_file}")
    if args.output:
        print(f"输出到: {args.output}")
    if args.verbose:
        print("详细模式已开启")

if __name__ == '__main__':
    main()

跑起来这样用:

python script.py data.txt -o result.txt -v

argparse 自动处理帮助信息、参数验证和类型转换。要加更多参数就继续用 add_argument,支持位置参数、可选参数、布尔标志这些常见需求。

总结:用 argparse 标准库最省事。

argparse?

如果不需要解析–option, 直接 sys.argv
有–option,用 click

python-fire 和 docopt 都是不走寻常路,比较酷炫

argparse

标准库 argparse

cmd 模块?

click 值得拥有

optparse argparse

听过 fire

paramiko

我还在用 getopt ……

回到顶部