Skip to main content
 首页 » 编程设计

python之从 python 命令行参数中过滤整数

2025年05月04日10jillzhang

所以我写了一个程序,我想给它传递一个文件名和一个整数,或者只是一个整数。确定哪个参数是整数的最佳方法是什么?这是我的:

import sys 
 
if len(sys.argv) > 1): 
    for e in sys.argv: 
        try: 
            bio = map(e, int) 
        except: 
            pass 

提前致谢

请您参考如下方法:

您可以使用字符串 isdigit() 方法检查参数是否为整数:

import sys 
 
if len(sys.argv) > 1: 
    for e in sys.argv: 
        if e.isdigit(): 
            # all characters in e are digits and there is at least one character in e 
        else: 
            # it is possibly your filename argument 

但是,我应该鼓励你给 argparse 库一个机会:http://docs.python.org/dev/library/argparse.html

import argparse 
parser = argparse.ArgumentParser(description = 'A simple description') 
 
parser.add_argument('-f', action = 'store', dest =  'filename', required = False) 
parser.add_argument('-n', action = 'store', dest = 'n', required = True, type=int) 
 
arguments = parser.parse_args() 
 
print arguments.n 
print arguments.filename