[Python] argparse

Posted in :

這真的是一個超神奇又超好用的套件,我看到好多專案都有在使用這個處理參數的小程式。

用一次就很難不再去使用的套件!寫的實在太棒了,一定要分享一下。

執行畫面:


簡易範例:

import argparse

import fontforge


def convert(input_file, output_file):
    font = fontforge.open(input_file)
    font.generate(output_file)


def cli():
    parser = argparse.ArgumentParser(
            description="Converts fonts using FontForge")

    parser.add_argument("--input",
            help="input font file",
            metavar = "input_file",
            type=str)

    parser.add_argument("--output",
            help="output file name. The format is determined using the file's extension.",
            metavar = "output_file",
            type=str)
    parser.add_argument("--overwrite",
         help="force overwrite exist image file",
         action='store_true')

    args = parser.parse_args()

    convert(args.input, args.output)


if __name__ == "__main__":
    cli()

上面的範例,在Terminal 裡打 your-name.py --input a.txt --output b.txt 就可以在 .input 和 .output 屬性拿到與其他程式串接的參數了,超讚的!

進階範例:
https://stackoverflow.max-everyday.com/2020/04/python-font2img/

好用的參數:

  • dest=’charset’, 屬性值要放那裡。
  • type=str, 型別
  • default=’CN’, 預設值
  • required=True 是否為必填
  • action=’store_true’ 這個用來如果出現參數,就代表要帶入值為 True

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *