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实例

相关推荐
FreakStudio16 分钟前
一文速通 Python 并行计算:13 Python 异步编程-基本概念与事件循环和回调机制
python·pycharm·协程·多进程·并行计算·异步编程
量子联盟1 小时前
原创-基于 PHP 和 MySQL 的证书管理系统,免费开源
开发语言·mysql·php
时来天地皆同力.2 小时前
Java面试基础:概念
java·开发语言·jvm
豌豆花下猫2 小时前
让 Python 代码飙升330倍:从入门到精通的四种性能优化实践
后端·python·ai
夏末蝉未鸣012 小时前
python transformers库笔记(BertForTokenClassification类)
python·自然语言处理·transformer
hackchen2 小时前
Go与JS无缝协作:Goja引擎实战之错误处理最佳实践
开发语言·javascript·golang
铲子Zzz4 小时前
Java使用接口AES进行加密+微信小程序接收解密
java·开发语言·微信小程序
小小小新人121234 小时前
C语言 ATM (4)
c语言·开发语言·算法
Two_brushes.4 小时前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
weixin_418813874 小时前
Python-可视化学习笔记
笔记·python·学习