一个python模块,它清除名称空间中的所有变量,作为python语言某些方面的演示。

munger的Python项目详细描述


#munger

这个python包用另一个名称(默认情况下是下划线)作为所有变量名的前缀。玩python的importlib,检查标准模块,深入了解python语言模型,这是一个闲置的实验,是一个闲置的实验,是一个闲置的实验,是对python语言模型的深入理解。/>>;>;import munger
>;munger.automunge();启动不断咀嚼的背景线程。
>;a=3
>;3
>;hi='世界'
>;__ main\uuuuu hi
“world”
```

*这仅用于演示目的。*


请注意,此包会破坏所有变量名,产生一些相当难调试的错误。因此,它可以被视为恶意软件。所以小心点!

下面是懒惰者的代码:
`` python
安全名称=[]

def munge(namespace='''uu main''):
“在'namespace'中的所有名称前面加上前缀。”“


module=importlib.import''u module(namespace)
全局安全名称
如果不安全名称:
安全名称。扩展(vars(module.keys())

prefix=''{}'.format(namespace)
到{name:val代表名称,val代表变量(module).items()如果名称不在安全名称中}
对于名称,val代表{.items():
setattr(module,prefix+name,val)
delattr(module,name)
安全名称。append(prefix+name)
````

关键的实现让一切变得简单!


python基于字典的命名系统可以让您,比方说,随机地将每个变量名重新分配给其他变量的值,从而产生随机且极难调试的错误!或者为什么不把每个数字都变成一个字符串呢?或者在python启动文件中添加一个自动导入行,这样以后所有python代码都会被修改?是的,肯定有很多潜在的问题可以被创建……BR/> BR/>α*显式优于隐式
BR/> Python是一种奇妙的语言,它使你能够灵活地做你想做的事情,一个鼓励好的代码作为良好实践的一部分的社区。随着python变得越来越流行,存储库中出现了更多的恶意代码。一定要检查出你正在使用的软件包,并在虚拟环境中启动新项目,以免破坏你的系统。最后,我们需要更多的自动化工具来防止恶意代码首先进入社区。一如既往,工作仍在进行中。不管怎样,继续努力吧!:-)

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

推荐PyPI第三方库


热门话题
无法使用windows x86上的Java验证在linux x64上签名的数字签名   java Firebase通过键从子级检索数据   Java缓存网络文件   java独立jdbcpool实现内存泄漏   java为什么MVN在成功构建时返回1?   java maven正在抛出BoundsException数组   Java:是否可以有“嵌套”映射方法(Java.util.stream)?   java无法使用GSON解析JSON文件   java Spring Groovy集成   java使用SAX解析器,需要所有xml元素(在特定元素下)作为字符串   java列出内容提供商Android 3.1中的内容   java如何使用带有spring api的JPA查询进行软删除?   java隐藏我的socket构造函数以隐藏IP和端口   Java将(JEP359)记录为Spring控制器请求和响应DTO   java在数组中循环时忽略空值   RESTAPI端点的java发现模式   java HTTPs在jmeter中发布带有头的请求测试,并将测试结果保存在mongodb中,并在grafana中显示