我有一个名为LC_cmdline.py
的python模块和argparse,如下所示。
import argparse
import getpass
def get_pass():
return getpass.getpass("Password: ")
def default_pass():
return ''
parser = argparse.ArgumentParser()
parser.add_argument('-u', default='', type=str, metavar='username', dest='username', help="Username for the database")
parser.add_argument('-p', action='store_const', const=get_pass, default=default_pass, dest='get_pass', help="Password for the database")
args = parser.parse_args()
if __name__ == '__main__':
print "username: [%s]"%args.username
print "password: [%s]"%args.get_pass()
我尝试使用命令python -m pydoc -w LC_cmdline
将其转换为pydoc的文档。然后我收到了这个错误:
usage: pydoc.py [-h] [-u username] [-p]
pydoc.py: error: unrecognized arguments: -w LC_cmdline
problem in LC_cmdline - <type 'exceptions.SystemExit'>: 2
有没有办法通过pydoc为我的参数创建一个模块的文档?谢谢。
顺便说一下,我的操作系统是win7,我的python是2.7答案 0 :(得分:1)
我将parser.parse_args()
移到if
内,如下所示:
...
if __name__ == '__main__':
args = parser.parse_args()
print "username: [%s]"%args.username
print "password: [%s]"%args.get_pass()
结果:
$ pydoc -w LC_cmdline
wrote LC_cmdline.html