我在我的python脚本中使用了一个简单的argparse函数:
def get_args():
"""Get CLI arguments and options"""
parser = argparse.ArgumentParser(description='AngioTool File Analyzer',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('rootPath',
help="path to files for the experiment",
action=FullPaths, type=is_dir)
parser.add_argument('-c', help='string to specify the control device to which all devices should be ratioed', default='D1')
parser.add_argument('-p', help="list of fields to plot",
default=['Total Vessels Length', 'Total Number of End Points', 'Total Number of Junctions'])
parser.add_argument('-i', help='string to specify first interval', default='min')
parser.add_argument('-t', help='comma serperated list with chart titles to be placed on charts', default="Chart 1, Chart 2, Chart 3")
parser.add_argument('-V', action='version', version='%(prog)s 1.0', help='print version number')
results = parser.parse_args()
return results
我的目标是结束我的代码并使用py2exe和py2app将程序分发给少数人。我遇到了一些模块,从理论上讲,这些模块可以很容易地从argparse代码生成UI,而不必让用户与命令行进行交互。不幸的是,我发现的工具(argparseui,gooey)需要处理的工具(例如pyQT4和wxPython)并且不支持Python3。
是否还有其他模块可以从argparse实现这个简单的UI,具有更多主流依赖性?
答案 0 :(得分:1)
既然你不想依赖任何像pyqt这样的第三方库,那么你应该考虑一些使用tk的工具,如https://github.com/codypiersall/cligui
答案 1 :(得分:1)