KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

pythonでコマンドライン引数を使う(optionparser)

登録日 :2024/09/14 19:12
カテゴリ :Python基礎

optionparserを使って、コマンドライン引数を用いるpythonプログラムを開発する。

サンプル(使い方)

from optparse import OptionParser, OptionGroup


def main():
    usage = 'usage: %prog [option] arg1 arg2'
    parser = OptionParser(usage=usage)
    parser.add_option('-f', '--file', action='store', type='string',
                      dest='filename', help='File name')

    parser.add_option('-n', '--num', action='store', type='int',
                      dest='num')

    parser.add_option('-v', action='store_false', dest='verbose', default=True)

    parser.add_option('-r', action='store_const', const='root', dest='user_name')

    parser.add_option('-e', dest='env')

    def is_release(option, opt_str, value, parser):
        if parser.values.env == 'prd':
            raise parser.error("Can't release")
        setattr(parser.values, option.dest, True)

    parser.add_option('--release', action='callback', callback=is_release, dest='release')

    group = OptionGroup(parser, 'Dangerous options')
    group.add_option('-g', action='store_true', help='Group option')
    parser.add_option_group(group)

    options, args = parser.parse_args()
    print(options, type(options))
    print(options.filename)
    print(options.num)
    print(args)


if __name__ == '__main__':
    main()