Python str.isnumeric()有问题

Python str.isnumeric()有问题,python,python-3.x,command-line-arguments,isnumeric,Python,Python 3.x,Command Line Arguments,Isnumeric,我正在尝试使用isnumeric字符串方法测试命令行参数是否为数字。据我所知,如果所有字符都是数字,则返回True;如果不是,则返回false。然而,当运行它时,无论它是否是数字,我似乎都会返回True def get_data(): sys.argv[1].isnumeric() if True: print('argument is number') else: print("Usage: python3 WnnnnnnnnAssg3.

我正在尝试使用isnumeric字符串方法测试命令行参数是否为数字。据我所知,如果所有字符都是数字,则返回True;如果不是,则返回false。然而,当运行它时,无论它是否是数字,我似乎都会返回True

def get_data():
    sys.argv[1].isnumeric()
    if True:
        print('argument is number')
    else:
        print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
        quit()

    if len(sys.argv) < 3 :
        print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
        quit()
get_data()
def get_data():
sys.argv[1].isnumeric()
如果为真:
print('参数是number')
其他:
打印(“用法:python3-wnnnnassg3.py数字文件1-file2…filen”)
退出
如果len(sys.argv)<3:
打印(“用法:python3-wnnnnassg3.py数字文件1-file2…filen”)
退出
获取_数据()

您需要将
isnumeric()
的结果分配给一个变量并检查其值:

value = sys.argv[1].isnumeric()
if value:
    print('argument is number')
else:
    print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
    quit()

此外,使用内置包将使命令行参数解析和验证更加清晰易读(link)。

谁教你使用
if
的?