我有一个名为 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
最佳答案
我会将 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
关于python - 如何使用 pydoc 为带有 argparse 的模块生成文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23354425/