Argparse 的 GUI

agf*_*997 3 python pyqt argparse python-3.x

我在 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
Run Code Online (Sandbox Code Playgroud)

我的目标是打包我的代码并使用 py2exe 和 py2app 将程序分发给一些人。我运行过一些模块,理论上,它们可以轻松地从 argparse 代码生成 UI,而不必让用户与命令行交互。不幸的是,我发现的工具(argparseui,gooey)需要一些处理起来有点痛苦的工具(例如pyQT4和wxPython)并且不支持Python3。

是否有其他模块可以通过 argparse 实现这个简单的 UI 并具有更主流的依赖项?

tut*_*uju 5

还有古伊我还没用过我用过一次,效果非常神奇;它甚至还有文件选择器小部件。

文件选择器动画 GIF 示例

免责声明:我从类似问题的答案中摘取了这一点