因此,我试图将代码传递给main(),原始代码是基于命令行的(它从命令行接口获取参数),但我希望在程序中将其直接传递给main()。以下是原始代码。
if __name__ == '__main__':
log_fmt = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(level=logging.INFO, format=log_fmt)
parser = argparse.ArgumentParser()
parser.add_argument('json_in')
parser.add_argument('graph_out')
parser.add_argument('text_out')
parser.add_argument('spm_model')
parser.add_argument('--sequence', action='store_true')
parser.add_argument('--simple-preprocessing',
action='store_false', dest='extended_preprocessing')
parser.add_argument('--bpe-dropout', type=float, default=None)
parser.add_argument('--sample-factor', type=int, default=1)
args = parser.parse_args()
main(args) 现在我知道如何转换除了第11行以外的每一行,包括--sequence。
我不知道如何在程序中传递dest。
我实际上是在colab上工作,它在argparse中抛出了错误SystemExit: 2,这就是为什么我无论如何都不想用它。
发布于 2021-08-04 05:54:56
如果没有定义-,则通过删除-前缀并使非前缀-下划线_来访问带有dest前缀的标志。
parser.add_argument('--sequence', action='store_true')
parser.add_argument('--simple-preprocessing',
action='store_false', dest='extended_preprocessing')
parser.add_argument('--bpe-dropout', type=float, default=None)
parser.add_argument('--sample-factor', type=int, default=1)
args = parser.parse_args()
args.sequence
args.extended_preprocessing # use dest
args.bpe_dropout
args.sample_factoryhttps://stackoverflow.com/questions/68645979
复制相似问题