我有许多Python脚本,它们使用公共代码读取不同类型的输入和输出文件。
这些是化学结构文件。一些示例文件类型为.smi或.sdf。
默认情况下,我希望其中一些脚本以“smi”文件格式输出数据,而其他脚本以“sdf”格式输出数据。
是否可以重写从父分析器继承的参数的默认值?
例如。。。

# Inherited code
filesParser = argparse.ArgumentParser(add_help=False)
filesParser.add_argument('-o', dest='outformat', default="smi")

# Script code
parser = argparse.ArgumentParser(description='inherts from filesParser', parents=[filesParser])
parser.add_argument('--foo')

# Something like...
# parser.outformat.default = "sdf"

args = parser.parse_args()

第一个帖子,希望我的礼仪可以。
非常感谢,
戴夫

最佳答案

是(docs):

>>> parser.parse_args([])
Namespace(foo=None, outformat='smi')
>>> parser.set_defaults(outformat='sdf')
>>> parser.parse_args([])
Namespace(foo=None, outformat='sdf')

07-24 09:38
查看更多