以编程方式理解python代码而不执行它
我正在实现一个工作流管理系统,其中工作流开发人员重载了一点流程功能,并从以编程方式理解python代码而不执行它,python,conceptual,Python,Conceptual,我正在实现一个工作流管理系统,其中工作流开发人员重载了一点流程功能,并从工作流类继承。该类提供了一个名为add\u component的方法,以便将组件添加到工作流中(组件是软件的执行,或者可能更复杂) MyWorkflow类要显示状态,需要知道哪些组件已添加到工作流中。为此,我尝试了两种方法: 执行流程功能2次,第一次允许收集所需的所有组件,第二次用于实际执行。问题是,如果工作流开发人员除了添加组件(在数据库中添加元素、创建文件)之外还执行其他操作,那么这将执行两次 解析函数的python代码
工作流
类继承。该类提供了一个名为add\u component
的方法,以便将组件添加到工作流中(组件是软件的执行,或者可能更复杂)
MyWorkflow
类要显示状态,需要知道哪些组件已添加到工作流中。为此,我尝试了两种方法:
add_组件
行,这是可行的,但如果某些组件位于if
/else
语句中,并且不应执行该组件,则该组件将显示在监视中李>
我想知道是否还有其他解决方案(我想让我的工作流程成为一个XML或一些更容易解析的东西,但这不太灵活)。如果不“执行”程序,你就无法知道程序会做什么(可能是在某些情况下,你模拟一些你不想修改的东西,但它看起来像是在射击一个移动的目标) 如果你做手工解析,总会有一些问题你错过了 您应该将代码分解为两个函数:
- 第一个代码只能添加_组件,而没有任何边 效果,但有可能运行真正的代码来检查 环境等,以了解要添加的组件李>
- 第二个 可能有副作用,并依赖于添加的成分
- 您确信没有副作用(不需要依赖程序员遵守文档)
- 灵活性要小得多,但请确保您需要它