用于创建和导入虚拟模块的python包。

virtualmod的Python项目详细描述


虚拟内存

PyPI version

用于创建和导入虚拟模块的python包。

安装

pip install virtualmod

示例

模块对象

使用virtualmod手动创建和注册模块。

importvirtualmod# Create a new empty virtual modulemodule=virtualmod.create_module('custom_module')# Add attribute to modulemodule.key='value'# Use decorator to add a function to the module# NOTE: You can use `add_to_module(module, name='new_name')` to override the module attribute name@virtualmod.add_to_module(module)defmodule_function(name):print('Hello',name)# Use decorator to add a class to the module@virtualmod.add_to_module(module)classModuleClass:pass# Import and use our virtual moduleimportcustom_moduleprint('Key:',custom_module.key)custom_module.module_function('virtualmod')print(custom_module.ModuleClass())

类定义

virtualmod还具有使用类定义来定义虚拟模块的能力。

importvirtualmod# Use class definition to define our virtual module "custom_module"classCustomModule(virtualmod.VirtualModule):# Define the module's name (would be "CustomModule" otherwise)__module_name__='custom_module'# Add an attributekey='value'# Add a function# NOTE: There is no `cls` or `self`defmodule_function(name):print('Hello',name)# Add a class to the moduleclassModuleClass:pass# Import and use our virtual moduleimportcustom_moduleprint('Key:',custom_module.key)custom_module.module_function('virtualmod')print(custom_module.ModuleClass())

重写现有模块

virtualmod的模块查找程序在标准内置查找程序之前注册。 这意味着,如果你注册一个模块,在一个现有模块的名称下,你会发现并加载第一个

importvirtualmod# Create a virtual module under the name "socket"my_socket=virtualmod.create_module('socket')# Import socket moduleimportsocket# Test if the loaded socket module is the one we createdprint(socketismy_socket)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是IO流上的通道包装器吗?   如何向java添加助记符。awt。菜单   使用Apache Commons电子邮件库在Java中发送电子邮件时发生身份验证错误   java在处理更新时合并到文件中   java格式化双精度且不舍入   java Freemarker有没有办法将整数格式化为浮点数?   在Grails Spring数据应用程序中混合java和groovy代码时出错   Java NIO将文件移动到共享位置   在Java中,main方法返回值64而不是100。为什么会这样?   javac java错误:无法找到或加载主类ass1。插入   如何在从客户机(Java、Socket)接收特定消息时自动返回响应   在安卓上创建两次java活动   java Comed+selenium。客户端通信不稳定   java想将值发送到cmd,不知道命令或如何发送   java如何将SQL查询转换为JSON数组   用Java绘制多段线的图形   私有Java setter不会更改整数的值   java CWWMQ0062E:从IBM队列连接工厂启用SSL时接收错误   在运行时更改java swing中的语言   java Android Eclipse在执行时“未找到源”