python getattr调用当前文件引用的模块内的方法,实例

python 复制代码
            def execute(self, module_name,task_name, args):
                import FreeCAD 
                import FreeCADGui 
                import sys
                module = getattr(sys.modules[__name__], module_name, None)
                print(f"Received RPC request: {module_name}.{task_name} with args: {args}")
                task_function = getattr(module, task_name, None)
                rpc_request_queue.put(lambda: task_function(*args))
                res = rpc_response_queue.get()
                return res
python 复制代码
def SheetMetal_BaseShape():
    """
    运行钣金基础形状(Sheet Metal Base Shape)命令。
    运行前需要先创建一个freecad的基础文档+激活钣金工作台
    参数: 不需要参数
    返回:
        函数执行结果
    
    """
    return  proxy.execute("FreeCADGui","runCommand", ["SheetMetal_BaseShape"])

=

FreeCADGui.runCommand(SheetMetal_BaseShape)

可以通过这种方法进行接口传递,实现从server端调用接口的FreeCADGui实例

相关推荐
稚南城才子,乌衣巷风流1 小时前
函数:编程中的核心概念
开发语言·前端·javascript
阿米亚波2 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
大模型码小白2 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
皓月斯语3 小时前
【C++基础】三目运算符
开发语言·数据结构·c++
初願致夕霞3 小时前
C++懒汉单例设计详解
服务器·开发语言·c++
脱胎换骨-军哥4 小时前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
xlrqx4 小时前
家电清洗培训课程类别、培训方式及费用情况究竟有哪些
大数据·python
脱胎换骨-军哥4 小时前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装
java·开发语言·c++
lbb 小魔仙4 小时前
VS Code Python 高级调试技巧:从入门到精通
开发语言·python
lzqrzpt4 小时前
LED驱动电源行业品牌格局与技术差异深度总结
python·单片机·嵌入式硬件