5
我建立了一套腳本和模塊來管理我們的基礎設施支持多種腳本argparse。爲了保持組織性,我希望儘可能地整合並最小化新版腳本的鍋爐板。使用Python在多個自定義模塊
尤其是這裏的問題是鞏固ArgumentParser模塊。
一個例子結構是有這樣一些組織腳本和庫:
|-- bin
|-- script1
|-- script2
|-- lib
|-- logger
|-- lib1
|-- lib2
在這種情況下script1
可能只利用logger
和lib1
,而script2
將利用logger
和lib2
。在這兩種情況下,我想記錄儀接受「-v」和「-d」,而script1
也可能會接受額外的參數和其他lib2
ARGS。我知道這可能會導致衝突並將手動管理。
SCRIPT1
#!/usr/bin/env python
import logger
import lib1
argp = argparse.ArgumentParser("logger", parent=[logger.argp])
SCRIPT2
#!/usr/bin/env python
import logger
import lib2
記錄
#!/usr/bin/env python
import argparse
argp = argparse.ArgumentParser("logger")
argp.add_argument('-v', '--verbose', action="store_true", help="Verbose output")
argp.add_argument('-d', '--debug', action="store_true", help="Debug output. Assumes verbose output.")
每個腳本和lib合作ULD可能有它自己的論據,但是,這些都會有被合併到
我嘗試迄今已導致未能繼承一個最終arg_parse()/延長argp設置。這怎麼能在庫文件和腳本之間完成?
你說argparse父母= [parser1,parser2]功能沒有爲你工作 - 它如何中斷? – babbageclunk 2013-03-19 08:45:09