LoginSignup
0
1

More than 5 years have passed since last update.

python3標準のargparseとpython-fireを比較してみました

Last updated at Posted at 2017-05-04

コマンドライン引数の管理モジュールのargparseとpython-fireをコード数と処理時間で比較してみました

argparse

argparseをインポートする直前に現在時刻を取得して処理時間を計測します、if __name__ == '__main__':内のコードの量が多く、sayを3回も繰り返して記述してありスマートではありません。

import time
start = time.time()
import argparse

def say():
    print(f"開始から{time.time()-start}秒経過")

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("--say",action="store_true")
    args = parser.parse_args()
    if args.say:
        say()

これを実行以下のコマンドで実行します
$python3 argparse_test.py --say
出力は
開始から0.01373600959777832秒経過
処理速度は速いです

python-fire

argparseに比べてif __name__ == '__main__':内のコード量はたったの一行です

import time
start = time.time()
import fire

def say():
    print(f"開始から{time.time()-start}秒経過")

if __name__ == '__main__':
    fire.Fire()

以下のコマンドで実行します
python3 fire_test.py say
出力は
開始から0.7563726902008057秒経過
python-fireの読み込みに0.7秒ぐらいかかっていますがシンプルです

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1