str.isnumeric() 有问题
trouble with str.isnumeric()
我正在尝试使用 isnumeric 字符串方法来测试命令行参数是否为数字。据我了解,如果所有字符都是数字,则 returns 为真,否则为假,但是当 运行 时,无论它是否为数字,我似乎都为真。
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()
您需要将 isnumeric()
的结果分配给一个变量并检查它的值:
value = sys.argv[1].isnumeric()
if value:
print('argument is number')
else:
print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
quit()
此外,使用 argparse
built-in package would make the command-line parameter parsing and validation a lot cleaner and readable (tutorial link).
我正在尝试使用 isnumeric 字符串方法来测试命令行参数是否为数字。据我了解,如果所有字符都是数字,则 returns 为真,否则为假,但是当 运行 时,无论它是否为数字,我似乎都为真。
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()
您需要将 isnumeric()
的结果分配给一个变量并检查它的值:
value = sys.argv[1].isnumeric()
if value:
print('argument is number')
else:
print("Usage: python3 WnnnnnnnnAssg3.py number file1 file2 . . . filen")
quit()
此外,使用 argparse
built-in package would make the command-line parameter parsing and validation a lot cleaner and readable (tutorial link).