我正在编写一个通用函数来检查某些命令行选项的存在并返回一个包含它们的对象。到目前为止,使用optparse
(我仅限于使用 Python 2.6.2),我得到了:
def getConfig( usage, needInputFile=False, needPhase=False ):
parser = OptionParser( usage=usage )
if ( needInputFile ):
parser.add_option("-f", "--file", dest = "filename",
help = "Read report from FILE", metavar="FILE")
if ( needPhase ):
parser.add_option("-p", "--phase", dest = "phase",
help = "Processing phase")
( options, args ) = parser.parse_args()
if ( needInputFile and options.filename == None ):
parser.error("Filename must be provided.")
if ( needPhase and options.phase == None ):
parser.error("Phase must be provided.")
return options
这工作正常,但我现在想通过相同的机制提供程序名称和某些环境变量,以便它可用于将使用它的几个不同脚本。
我的直觉是将 optparse 选项复制到字典中并添加程序名称和额外的环境。在返回之前将 var info 放入字典中。
我很想知道人们对这种方法的看法。有没有更好/更被接受的方式?