V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hujianxin
V2EX  ›  程序员

常用 Python 写命令行工具的朋友,你最常用的库是什么?

  •  1
     
  •   hujianxin · 2019-08-29 09:35:58 +08:00 · 4654 次点击
    这是一个创建于 1914 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我最常用的是 click,感觉简介,也够自由,唯一的缺点就是,它不是标准库。

    24 条回复    2019-08-29 17:23:24 +08:00
    guxingke
        1
    guxingke  
       2019-08-29 10:04:28 +08:00
    click + 1

    但近来喜欢支持静态编译的语言来写. 分发简单.
    golang, java(native)
    claymore94
        2
    claymore94  
       2019-08-29 10:10:32 +08:00
    公司 用 docopt, 自己原来用 argparse, 后来就跟随公司步伐了
    click 看你们说的,我过会去尝试下
    tohearts
        3
    tohearts  
       2019-08-29 10:22:56 +08:00
    是不是标准库,也不是缺点吧, 除了 click,还有 google 的 fire。
    suzaku
        4
    suzaku  
       2019-08-29 10:43:10 +08:00
    click, 至于分发,我用 pyinstaller
    andylsr
        5
    andylsr  
       2019-08-29 11:04:15 +08:00   ❤️ 1
    google/python-fire 好用到炸
    Kilerd
        6
    Kilerd  
       2019-08-29 11:18:02 +08:00
    click 或者 fire, 现在炒鸡喜欢 fire
    arrow8899
        7
    arrow8899  
       2019-08-29 11:22:55 +08:00   ❤️ 1
    python-fire
    wsbnd9
        8
    wsbnd9  
       2019-08-29 11:59:11 +08:00   ❤️ 1
    python-fire
    nthhdy
        9
    nthhdy  
       2019-08-29 12:00:42 +08:00
    click
    ahlixinjie
        10
    ahlixinjie  
       2019-08-29 12:22:11 +08:00 via iPhone
    学习到了 还有这种东西 之前就手撸
    shm7
        11
    shm7  
       2019-08-29 12:54:16 +08:00
    真是 6,我就用 argparse 写过一两个,学到了 python-fire
    deorth
        12
    deorth  
       2019-08-29 13:09:10 +08:00
    之前我就用手撸,这两个月才开始用 argparse 的。。。学习了
    lolizeppelin
        13
    lolizeppelin  
       2019-08-29 13:34:46 +08:00
    请使用 python 最牛逼的配置文件兼命令行库 oslo.config

    openstack 出品,用过以后你再也不需要用其他命令行 /配置文件库了
    qsbaq
        14
    qsbaq  
       2019-08-29 13:38:49 +08:00
    visual studio code
    ghost3281
        15
    ghost3281  
       2019-08-29 13:53:19 +08:00
    click 也是最近接触到
    luckrill
        16
    luckrill  
       2019-08-29 13:55:37 +08:00
    这 不是问题
    expkzb
        17
    expkzb  
       2019-08-29 14:02:20 +08:00
    学习了
    echo1937
        18
    echo1937  
       2019-08-29 14:06:34 +08:00
    @tohearts #3 我们好多工具跑在服务器上,服务器环境有且只有标准库。
    hujianxin
        19
    hujianxin  
    OP
       2019-08-29 14:18:00 +08:00
    python-fire 我之前用过,公司的某个工具我就是用 fire 写的,后来换成了 click,缺点如下:
    1. 不够自由,如果有比较细节的控制需求,fire 做不到,就不举例子了
    2. 维护不够积极,issue 处理不及时,总共才二三百次提交,沉淀不够就
    hujianxin
        20
    hujianxin  
    OP
       2019-08-29 14:18:55 +08:00
    @lolizeppelin 看着很棒,我去了解一下,多谢
    hujianxin
        21
    hujianxin  
    OP
       2019-08-29 14:19:34 +08:00
    @guxingke 我偏向于使用 golang,不过目前很多还都是用 python 写的。
    XIVN1987
        22
    XIVN1987  
       2019-08-29 14:28:50 +08:00
    目前只用过 argparse,都是写很短的工具代码,,所以不想增加额外的依赖,只用标准库,,
    imycc
        23
    imycc  
       2019-08-29 17:03:50 +08:00
    click 的文档比较全,定制性也很好。用了一年多了,写一些小脚本还是很舒服的,zsh 的自动补全也支持。

    ( PS:我觉得 nodejs 的 commander+Inquirer.js 才是最爽的
    vmskipper
        24
    vmskipper  
       2019-08-29 17:23:24 +08:00
    直接用 argparse 就行 模板就是 aws-cli 的模板改就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:18 · PVG 16:18 · LAX 00:18 · JFK 03:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.