Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
optparse args什么也得不到(python)_Python_Args_Optparse - Fatal编程技术网

optparse args什么也得不到(python)

optparse args什么也得不到(python),python,args,optparse,Python,Args,Optparse,我看到这一页: 编写了以下代码: parser = optparse.OptionParser(usage=use) parser.add_option("-z", dest="zipname") parser.add_option("-d", dest="dictionary") (options, args) = parser.parse_args() print len(args) 所以我试了一下: script.py-z hello.zip-d world.txt 得到: >>0 当

我看到这一页:

编写了以下代码:

parser = optparse.OptionParser(usage=use)
parser.add_option("-z", dest="zipname")
parser.add_option("-d", dest="dictionary")

(options, args) = parser.parse_args()
print len(args)
所以我试了一下:

script.py-z hello.zip-d world.txt

得到:

>>0


当我使用options.zipnameoptions.dictionary时,没关系,但是没有任何内容进入args,为什么?谢谢。

parse_args的
args
返回值是“处理完所有选项后剩余的位置参数”()。它解析了您提供给它的所有参数,因此没有任何东西可以放在args中

例如,如果你跑步

script.py -z hello.zip -d world.txt foo bar
然后将打印
2


另一方面,@Michael0x2a在评论中指出,
optparse
库已被弃用。看看这个库。

因为
args
是处理后剩下的args。从:

parse_args()返回两个值:

  • 选项,包含所有选项值的对象,例如,如果 --file采用单个字符串参数,则options.file将是用户提供的文件名,如果用户未提供该选项,则为None
  • args,解析后剩余的位置参数列表 选择权

注:optpass被视为已折旧。您可能应该尝试使用。(我个人也喜欢使用,但它不是标准库的一部分)@Michael0x2a已弃用!=贬值。。。只是说。。