Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでのコマンドラインインターフェイスプログラミング?


このセクションでは、Pythonを使用してコマンドラインインターフェイスを開発します。しかし、プログラムを深く掘り下げる前に、まずコマンドラインを理解しましょう。

コマンドラインは、コンピュータプログラムの存在以来使用されており、コマンドに基づいて構築されています。コマンドラインプログラムは、シェルまたはコマンドラインから実行されるプログラムです

コマンドラインインターフェイスは、マウスを使用する代わりに、ターミナル、シェル、またはコンソールでコマンドを入力することによってナビゲートされるユーザーインターフェイスを提供します。

コマンドラインインターフェイス(CLI)は、実行可能ファイルから始まります。次のように、開発方法に応じてスクリプトに渡すことができるパラメーターがあります。

  • 引数 :スクリプトに渡されるこのパラメーターを指定する必要があります。提供しない場合、CLIはエラーを処理します。たとえば、numpyは次のコマンドの引数です:pipinstallnumpy。

  • オプション :次のような名前と値のペアが付属するオプションのパラメーター:pip install django –cache-dir ./my-cache-dirここで、–cache_dirはオプションパラメーターであり、値./my-cache-dirは次のように使用する必要があります。キャッシュディレクトリ。

  • フラグ :特定の動作を有効または無効にするようにスクリプトに指示する別のオプションのパラメーター。たとえば、–helpパラメーター。

Pythonは、「クリック」などのコマンドラインインターフェイスを作成するための複数のPythonパッケージを提供します。 Clickを使用すると、ほんの数行のコードでコマンドラインインターフェイスを構築できます。

以下は、クリックパッケージを使用しないコマンドラインインターフェイスプログラムです。 CLIプログラムの作成は、「クリック」パッケージを使用して得たものほど洗練されていない可能性があります。「クリック」を使用すると、「Do n’t Repeat Yourself」(DRY)の原則に従うことができます。

クリックパッケージを使用しないコマンドラインインターフェイス

import sys
import random

def do_work():
   """ Function to handle command line usage"""
   args = sys.argv
   args = args[1:] # First element of args is the file name

   if len(args) == 0:
      print('You have not passed any commands in!')
   else:
      for a in args:
         if a == '--help':
            print('Basic command line program')
            print('Options:')
            print(' --help -> show this basic help menu.')
            print(' --monty -> show a Monty Python quote.')
            print(' --veg -> show a random vegetable')
         elif a == '--monty':
            print('He’s not the Messiah—he’s a very naughty boy')
         elif a == '--veg':
            print(random.choice(['Tomato','Reddis','Carrot', 'Potato', 'Turnip']))
         else:
            print('Unrecognised argument.')

if __name__ == '__main__':
do_work()

出力

c:\Python\Python361>python cli_interp1.py --monty
He’s not the Messiah—he’s a very naughty boy

c:\Python\Python361>python cli_interp1.py --help
Basic command line program
Options:
--help -> show this basic help menu.
--monty -> show a Monty Python quote.
--veg -> show a random vegetable

c:\Python\Python361>python cli_interp1.py --veg
Tomato

c:\Python\Python361>python cli_interp1.py --error
Unrecognised argument.

上記のプログラムでわかるように、引数名を変更する柔軟性はあまりありません。

以下は、Pythonクリックパッケージを使用してCLIを実装する同じプログラムです。

import click
import random

@click.command()
@click.option('--monty', default=False, help='Show a Monty Python quote.')
@click.option('--veg', default=False, help='Show a random vegetable.')
def do_work(monty, veg):
""" Basic Click example will follow your commands"""
if monty:
   print('He’s not the Messiah—he’s a very naughty boy')
   if veg:
      print(random.choice(['Tomato','Reddis','Carrot', 'Potato', 'Turnip']))
if __name__ == '__main__':
do_work()

出力

c:\Python\Python361>python cli_interp2.py --help
Usage: cli_interp2.py [OPTIONS]

Basic Click example will follow your commands

Options:
--monty TEXT Show a Monty Python quote.
--veg TEXT Show a random vegetable.
--help Show this message and exit.

上記のプログラムは、「クリック」パッケージを使用してCLIを作成する方がはるかに簡単で、プログラマーの労力を大幅に節約できることを示しています。


  1. PythonでのTkinterプログラミング

    TkinterはPythonの標準GUIライブラリです。 PythonをTkinterと組み合わせると、GUIアプリケーションをすばやく簡単に作成できます。 Tkinterは、TkGUIツールキットへの強力なオブジェクト指向インターフェースを提供します。 Tkinterを使用してGUIアプリケーションを作成するのは簡単な作業です。次の手順を実行するだけです- Tkinterモジュールをインポートします。 GUIアプリケーションのメインウィンドウを作成します。 上記のウィジェットを1つ以上GUIアプリケーションに追加します。 メインイベントループに入り、ユーザーによってトリガーされた各イベン

  2. Pythonでのタートルプログラミング

    カメはPythonの特別な羽です。 Turtleを使用すると、簡単に製図板に描くことができます。 まず、タートルモジュールをインポートします。次にウィンドウを作成し、次にタートルオブジェクトを作成し、タートルメソッドを使用して製図板に描画できます。 いくつかのカメの方法 方法 パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成して返します forward() 金額 指定された量だけカメを前進させます backward() 金額 指定された量だけカメを後方に動かします right() 角度 カメを時計回りに回転させます left() 角