我有一个Python脚本,它已打包为命令行脚本(自从问世以来,在Pyrseas中为dbtoyaml.py)。
我正在运行另一个要从中调用此脚本的python脚本。有没有办法导入模块并从第二个脚本中人工填充所需的参数,从而根本避免更改任何pyrseas代码?
from pyrseas import dbtoyaml -- My initial script, which also takes arguments dbtoyaml.main(['-m','-H MYHOSTNAME' .... other options])
尚未为我工作。
我收到一个奇怪的错误:
usage: checkSchemaChanges.py [-h] [-H HOST] [-p PORT] [-U USERNAME] [-W]
[-c CONFIG] [-r REPOSITORY] [-o OUTPUT]
[--version] [-m] [-O] [-x] [-n SCHEMA]
[-N SCHEMA] [-t TABLE] [-T TABLE]
dbname
checkSchemaChanges.py: error: unrecognized arguments: MYHOSTNAME mydatabaseuser
这是我的新脚本(底部的checkSchemaChanges.py,MYHOSTNAME和mydatabaseuser)和dbtoyaml中的参数的正确混合而成。
可能是使argparse混淆的双重参数集吗?
这似乎不是最好的方法,但是您可以设置sys.argv
import sys
sys.argv += ['-m','-H MYHOSTNAME' .... other options]
from pyrseas import dbtoyaml
dbtoyaml.main()
但实际上我不知道dbtoyaml.py是什么样子还是
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句