我有一个需要命令行参数(带有optparse
)的函数,它看起来像这样:
def foo():
parser = optparse.OptionParser()
parser.add_option("-i", dest="input")
parser.add_option("-o", dest="output")
(options, args) = parser.parse_args()
do_something(options.input, options.output)
return
我需要从另一个Python脚本调用此函数。
有人知道如何在不使用os.system('foo -i input_path -o output_path')
的情况下将参数传递给它吗?
答案 0 :(得分:0)
是否可以更改结构以包含函数参数?如果您是从另一个脚本中调用它,它将使其变得更加简单。
def foo(input, output):
parser = optparse.OptionParser()
parser.add_option("-i", dest="input")
parser.add_option("-o", dest="output")
(options, args) = parser.parse_args()
if options.input:
input=options.input
if options.output:
output=options.output
do_something(input, output)
return
否则,您可以在从其他脚本调用时尝试子进程,因为这样可以使用args