我正在編寫一個接受int
和str
類型參數的單擊命令,我需要找出函數中傳遞的參數類型,如本例中所示:如何在Python中檢查傳入的CLI參數類型
import click
@click.command()
@click.argument('num')
def command(num):
if type(num) is int:
click.echo("integer")
elif type(num) is str:
click.echo("string")
if __name__ == '__main__':
command()
本示例不起作用,因爲參數類型始終爲unicode。
$ python script.py text
<type 'unicode'>
$ python script.py 123
<type 'unicode'>
我正在尋找一種方法,使執行這個命令返回此:
$ python script.py text
<type 'str'>
$ python script.py 123
<type 'int'>
我認爲第一個例子很好地完成了這個工作,將使用num作爲整數來執行投射 – MMSs
更新了我的答案。使用isinstance()而不是type()。 – alexisdevarennes