0
は、私はどちらか受け入れますクリックコマンド書きたい:Python- Click:2つの引数のいずれかを受け入れるためのクリックコマンドを書くにはどうすればよいですか?
$stuff show "my thing"
or
$stuff show [4]
を、私はそのコマンドを確保することができますどのように同じにしながら、はがものが先行されずに実行することはできません表示さ
は、私はどちらか受け入れますクリックコマンド書きたい:Python- Click:2つの引数のいずれかを受け入れるためのクリックコマンドを書くにはどうすればよいですか?
$stuff show "my thing"
or
$stuff show [4]
を、私はそのコマンドを確保することができますどのように同じにしながら、はがものが先行されずに実行することはできません表示さ
import click
import re
@click.group()
def stuff():
pass
regex_is_message_number = re.compile('^\[\d+\]$')
@stuff.command()
@click.argument('message', nargs=1, type=click.STRING)
def show(message):
if regex_is_massage_number.match(message):
click.echo('You entered a message number.')
else:
click.echo('You entered a message string.')
上記のコードは、端末に入力したときに次のようになります。
$stuff show "my thing"
You entered a message string.
$stuff show [4]
You entered a message number.
$stuff show
Usage: stuff show [OPTIONS] MESSAGE
Error: Missing argument "message".
クリックすると、引数MESSAGEが指定されているので、それを自分で処理する必要はありません。