Gradle Exec任务调用Python脚本时argparser无法识别传入参数
解决Gradle Exec任务调用Python脚本参数获取为None的问题
问题根源
参数名不匹配:你的Gradle任务传入的是--file参数,但Python脚本输出显示的是imageFile=None,说明实际运行的Python脚本中第一个参数定义的是--imageFile,而非--file,导致参数无法正确绑定。
修正方案
方案1:修改Gradle任务,匹配脚本参数名
将Gradle中的--file改为--imageFile,和脚本内的参数名对齐:
def foo = tasks.register('foo', Exec) { group 'Foo' commandLine 'python3' args 'foo.py', '--imageFile', "/path/in", '--outputDir', "/path/out" }
方案2:修改Python脚本,匹配Gradle传入的参数名
将脚本中的参数名改为--file,和Gradle传入的参数对齐:
import argparse parser = argparse.ArgumentParser() parser.add_argument('--file') parser.add_argument('--outputDir') args = parser.parse_args() print(args)
执行修正后的代码,即可得到符合预期的输出:
Namespace(file="/path/in", outputDir="/path/out")
内容的提问来源于stack exchange,提问作者CU_dev
相关产品推荐
相关产品推荐

