我有一个带有文档字符串的Python脚本。当命令行参数的解析不成功时,我想打印用户信息的文档字符串。
有没有办法做到这一点?
最小示例
#!/usr/bin/env python
"""
Usage: script.py
This describes the script.
"""
import sys
if len(sys.argv) < 2:
print("<here comes the docstring>")
发布于 2011-10-17 17:10:12
文档字符串存储在模块的全局__doc__
中。
print(__doc__)
顺便说一句,这适用于任何模块:import sys; print(sys.__doc__)
。函数和类的文档字符串也在它们的__doc__
属性中。
发布于 2013-02-25 17:50:44
这里有一个替代方案,它不对脚本的文件名进行硬编码,而是使用sys.argv来打印它。使用%(scriptName)s而不是%s可以提高代码的可读性。
#!/usr/bin/env python
"""
Usage: %(scriptName)s
This describes the script.
"""
import sys
if len(sys.argv) < 2:
print __doc__ % {'scriptName' : sys.argv[0].split("/")[-1]}
sys.exit(0)
https://stackoverflow.com/questions/7791574
复制相似问题