Skip to main content
 首页 » 编程设计

python之如何在python中获取没有名称的参数

2025年05月04日12zlslch

我正在尝试编写一个 python 脚本,它接受可选的输入参数和一个输入文件:

./script --lines 1 file.txt

应该取1为行数(--lines),然后取file.txt作为输入文件。但是,getopt 甚至看不到“file.txt”,因为它前面没有参数名称。

如何获取文件名?我已经考虑过使用 sys.arv[-1],但这意味着当我运行时:

./script --lines 1

然后 1 将作为输入文件名。然后我的脚本将抛出错误(如果不存在名为 1 的文件):

错误:找不到文件“1”

这可行,但不是一个很好的解决方案。有解决办法吗?

请您参考如下方法:

绝对使用argparse -- 它包含在python2.7+ 中,可以很容易地为旧版本安装:

parser = argparse.ArgumentParser() 
parser.add_argument('--lines', type=int, default=0, help='number of lines') 
parser.add_argument('file', help='name of file') 
namespace = parser.parse_args() 
print namespace.lines 
print namespace.file