2012-03-29 75 views
2

这看起来可能很愚蠢,但我想这可能是这个问题的简单解决方案。我有一个python脚本,它执行一些基于命令行的数学计算。我不想对我现在的代码做任何重大修改。现在我应该如何创建一个GUI(我使用wxpython),该GUI使用该脚本作为其模型,同时将模型作为独立的Python脚本运行,就像现在一样。我知道这是继承和多态的问题,但我不清楚我应该采取的方法。任何指导方针将不胜感激。将现有的命令行脚本转换为python中的GUI

+0

这可能会帮助你开始:http://stackoverflow.com/q/9927821/1098754 – 2012-03-29 15:42:42

+0

这太好笑了!就我所知,我刚刚回答了这个问题。 LMAO – 2012-03-29 15:44:48

+0

太搞笑了!对于那个很抱歉。说真的,我不清楚你在你的问题中寻找什么样的答案。我的意思是,简单的答案是“构建一组用户控件并将控件操作链接到脚本的输入/输出。”我想你正在寻找除了那个简单的答案之外的东西。 – 2012-03-29 15:47:54

回答

1

这取决于您的命令行工具的质量。基本上,如果它是“正确”编写的,它将其功能封装在某些可在其他脚本中重用的函数或类中 - 这意味着您可以导入并使用它们而不会出现问题。命令行工具的“主要”部分然后解析命令行参数并调用这些函数/类。这一切都是真实的,那么你显然可以在基于GUI的应用程序中导入你的功能并使用它。

因此总之,您的功能必须与用户界面分开,然后切换界面或多或少不重要。这通常被称为分离front end and back end

1

比方说,你的命令行可执行文件是:

%计算-flag1 -flag2数据文件OUTPUTFILE

在wxPython中,你可以使用复选框以选择是否标志1和/或FLAG2使用,文件选择窗口小部件对于数据文件,输出文件和“执行”按钮的文本输入字段。单击执行时,在字符串中创建命令行并将其传递给子流程模块中的某个方法。

+0

这正是GUI界面对某些命令行工具采用的方法。 'wget'在这里浮现。 – 2012-03-30 13:58:59