使用`optparse`模拟Python脚本的命令行参数?

Bio*_*eek 3 python optparse command-line-arguments

我想要使​​用(调用snakefood)的Python脚本通常从命令行运行并获取命令行参数,例如:

sfood /path/to/my/project
Run Code Online (Sandbox Code Playgroud)

的命令行参数解析发生在一个名为gendeps.py使用optparse.但是,我想从另一个脚本中使用snakefood模块.有没有办法可以以某种方式模拟命令行参数的传递snakefood或重写方式,gendeps.py以便它不再依赖于它optparse

Mar*_*ers 12

您始终可以将新列表分配给sys.argv:

import sys

sys.argv = ['programname', '-iq', '-q', directory]
gendeps.gendeps()
Run Code Online (Sandbox Code Playgroud)

optparse使用sys.argv[1:]作为输入时没有明确的论据中已经过去了.