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

时间:2014-06-02 17:52:50

标签: python command-line-arguments optparse

我想使用的Python脚本(称为snakefood)通常从命令行运行并接受命令行参数,例如:

sfood /path/to/my/project

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

1 个答案:

答案 0 :(得分:12)

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

import sys

sys.argv = ['programname', '-iq', '-q', directory]
gendeps.gendeps()

optparse在没有传递明确参数时使用sys.argv[1:]作为输入。