Skip to main content

修改python内置函数和库

项目描述

暗蟒

特拉维斯徽章

补丁python内置函数和库!

创建你自己的蟒蛇!

在 python 中做你做梦也想不到的危险事情!

它能做什么

  • 补丁内置函数

$ dpython config beautify.py

# beautify.py
from pprint import pprint
print = pprint

并且只$ dpython在你的余生中用作 python 命令行,每一个print都保证是漂亮的。

  • 修补任何软件包,无论是否内置

$ dpython config troll_packages/random

random
└── __init__.py
#__init__.py
def randint(a,b):
    return a

现在 ssh 进入一些生产服务器。$ sudo alias python3=dpython 看着世界燃烧。

用例

结合禁果。你可以做任何事情,包括:

  1. 随心所欲地定制你的python。您是一名发现无法使用 python vanilla list 做任何事情的数据科学家吗?没问题!使用 numpy 数组功能扩展内置列表!

  2. 在不进行任何重构的情况下修补大量 Python 代码

  3. 为其他包创建python补丁包

如何使用

pip install dpython

默认情况下,pip 创建命令行快捷方式$ dpython。如果它不起作用,(您使用的是愚蠢的 Windows 或其他东西),您可以随时使用> python -m dpython

dpythonpython本身的工作方式与命令行完全相同。

例如:

$ dpython test.py 运行test.py

$ dpython打开交互式外壳

$ dpython -m my_module将文件夹my_module作为 python 模块运行

dpython 只有一个与 python 不同的保留子命令:'config'. 您可以提供以下说明:

$ dpython config [something.py|folder]. 注册单个.py文件或包含 python 包的文件夹。

  • py文件的情况下。$ dpython提供的文件将在未来调用之前有效执行。您可以将其称为启动脚本。
  • 在包的情况下,其他代码中的导入将使用提供的包而不是具有重复名称的包。
  • 您可以注册任意数量的软件包。但只有一个.py启动脚本。

$ 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.py
    oldprint = print
    def print(*args, **kwargs):
        oldprint('Pwned  by Dark Python!!!')
        oldprint(*args, **kwargs)
    

    $ dpython register leEtH4ck3r.py

  • 示例 2

    # ilovetqdm.py
    from tqdm import trange
    range = trange
    

    $ dpython register ilovetqdm.py

我的愚蠢幻想 (todos)

  • 编写一个名为的包gwrap,内部用于dpython扩展 built-in argparse

    $ gwrap any_cmd_utility.py

    只要脚本使用argparse,gwrap 就会创建一个 GUI,其中复选框替换布尔参数。下拉菜单替换参数选择。悬停工具提示以获得参数帮助。并存储自动完成的命令历史记录。

  • 安装dpython在我同事的电脑上,搞砸最常用的功能range(),如list(). 别名 python=dpython 只是为了好玩。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

dpython-1.0.5.tar.gz (7.4 kB 查看哈希

已上传 source