我想从脚本而不是命令行运行此函数。例如,函数是:
def main():
parser = argparse.ArgumentParser(description='Caffe prototxt to mxnet model parameter converter.\
Note that only basic functions are implemented. You are welcomed to contribute to this file.')
parser.add_argument('caffe_prototxt', help='The prototxt file in Caffe format')
parser.add_argument('caffe_model', help='The binary model parameter file in Caffe format')
parser.add_argument('save_model_name', help='The name of the output model prefix')
args = parser.parse_args()
...
我怎么能这样运行呢?
file.main('file_1.csv', 'file_2.csv', 'name')
为什么有人会写一个我只能从命令行运行的函数?感觉不方便。
答案 0 :(得分:4)
您可以使用import sys
sys.argv.extend(['file_1.csv', 'file_2.csv', 'name'])
file.main()
:
{{1}}
答案 1 :(得分:0)
你可能想做一些轻微的重新分解。将argparse
内容拉入自己的方法,然后调用main(args)
,然后使用您的配置实例化您传递到argparse.Namespace()
的{{1}}。
是的,我同意如果已经用这种方式考虑代码会更好。但人们会以务实的方式编码,以满足他们的迫切需求。