2016-06-28 6 views
0

私はクリックを使用してPythonでCLIを作成しています。私が望むものは、プログラムが始まる「アイドル状態」の一種です。スクリプトはユーザーの入力を求め、入力に応じて特定の関数を実行する必要があります。このサブ機能は、ユーザの入力を求めたり、異なることを行うこともできます。ユーザー入力を求め、指定された機能を実行してから、質問に戻る

何が問題になっているのは、機能の実行が完了した後にプログラムを「アイドル状態」に戻すことです。

@click.command()  
def cli(): 
    print "Welcome. What do you want to do?" 
    choice = click.prompt('') 
    if choice == 'add': 
      add() 
    else: 
      subtract() 

したがって、たとえばadd()を実行した後、もう一度「ようこそ」を印刷して入力を促すようにプログラムします。 whileループでcli()関数をラップしても機能しませんでした。

+1

どのように正確に、あなたは、whileループで関数をラップしたのですか? –

+0

whileループを使用したときに何が起こったか、「うまくいかない」のは何ですか? – cdarke

+0

私はchoice = click.prompt()行以上のWhileを配置します。しかし、プログラムはadd()を実行した後に実行を停止します。私はちょうどadd-functionの上の@ click.command()を取り除いてみました。そして入力を要求し続けるので、何らかの理由でブレークします:( – Zazz

答えて

0

あなたはこれを試すことができます。

def cli(): 
    print "Welcome. What do you want to do?" 
    choice = click.prompt('') 
    if choice == 'add': 
     add() 
     cli() 
    else: 
     subtract() 
関連する問題