Python命令行程序,如何快速实现简单命令解析功能?
就是一个简单的 shell 功能。
Python命令行程序,如何快速实现简单命令解析功能?
18 回复
fire?
用 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
click +1
cmd 模块?
click 值得拥有
听过 fire
paramiko
我还在用 getopt ……
click
getopt
fire
https://github.com/pallets/click
https://pypi.org/project/click/
( flask 就是用的 click )


