Pau*_*aul 7 python namespaces argparse
报告此错误的位置:TypeError:'Namespace'对象不可迭代
import argparse
def parse_args():
parser = argparse.ArgumentParser(add_help=True)
parser.add_argument('-a', '--aa', action="store_true", default=False)
parser.add_argument('-b', action="store", dest="b")
parser.add_argument('-c', action="store", dest="c", type=int)
return parser.parse_args()
def main():
(options, args) = parse_args()
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
use*_*272 11
您的问题与此行有关:
(options, args) = parse_args()
Run Code Online (Sandbox Code Playgroud)
这似乎是被弃用的"optparse"的成语.
使用没有"options"的argparse习语:
import argparse
parser = argparse.ArgumentParser(description='Do Stuff')
parser.add_argument('--verbosity')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
尝试:
args = parse_args()
print args
Run Code Online (Sandbox Code Playgroud)
结果:
$ python x.py -b B -aa
Namespace(aa=True, b='B', c=None)
Run Code Online (Sandbox Code Playgroud)