修改python内置函数和库
dpython的Python项目详细描述
深色Python
修补python内置函数和库!
创造你自己的Python!
用你做梦都没想到的Python做危险的事情!
它的功能
- 修补程序内置函数
$ dpython config beautify.py
# beautify.pyfrompprintimportpprintprint=pprint
只要把$ dpython
作为python命令行使用一辈子,每个print
都会很漂亮。
- 修补任何包,是否内置
$ dpython config troll_packages/random
random
└── __init__.py
#__init__.pydefrandint(a,b):returna
现在通过ssh连接到某个生产服务器。$ sudo alias python3=dpython
看着世界燃烧。
用例
与the forbidden fruit结合。您可以做任何事情,包括:
根据您的喜好定制您的python。你是不是一个数据科学家,发现用python香草列表做任何事情都是不可能的?没问题!使用numpy数组功能扩展内置列表!
在不进行任何重构的情况下修补大量的python代码
为其他包创建pythonpatch包
如何使用
pip install dpython
默认情况下,pip创建命令行快捷方式$ dpython
。如果它不起作用(你用的是愚蠢的窗口或其他东西),你总是可以使用> python -m dpython
dpython
本身的工作方式与python
命令行完全相同。
例如:
$ dpython test.py
运行test.py
$ dpython
打开交互式外壳
$ dpython -m my_module
作为python模块运行文件夹my_module
dpython只有一个与python不同的保留子命令:'config'
。您可以提供以下说明:
$ dpython config [something.py|folder]
。注册单个.py
文件或包含python包的文件夹。
- 对于
py
文件。提供的文件将在以后的$ dpython
调用之前有效执行。你可以称之为启动脚本。 - 对于包,其他代码中的导入将使用提供的包,而不是具有重复名称的包。
- 您可以注册任意数量的软件包。但只有一个启动脚本。
$ dpython config inspect-script
打印保存的启动脚本
$ dpython config clear-script
重置保存的启动脚本
$ dpython config inspect-package
打印注册包
# example output
patch packages:
random
numpy
argparse
$ dpython config clear-package
清除已注册的包,不会删除实际文件。
# example output
random removed
numpy removed
argparse removed
$ dpython -h|--help
打印帮助
更多示例
示例1
# leEtH4ck3r.pyoldprint=printdefprint(*args,**kwargs):oldprint('Pwned by Dark Python!!!')oldprint(*args,**kwargs)
$ dpython register leEtH4ck3r.py
例2
# ilovetqdm.pyfromtqdmimporttrangerange=trange
$ dpython register ilovetqdm.py
我愚蠢的幻想(TODOS)
编写一个名为
gwrap
的包,该包在内部使用dpython
扩展内置的argparse
。$ gwrap any_cmd_utility.py
只要脚本使用
argparse
,gwrap就会创建一个gui,用复选框替换布尔参数。替换参数选项的下拉菜单。悬停参数帮助的工具提示。并存储自动完成的命令历史记录。在我的同事电脑上安装
dpython
,把最常用的功能比如range()
,list()
搞砸。别名python=dpython只是为了好玩。