python - 向 Python 标准库添加函数?
问题描述
有没有办法将我创建的函数添加到本地机器上的 Python 标准库中?
我来自 matlab 世界,那里的东西并不是真正高效和快速,但我的指尖有很多功能,而无需导入它们的文件。我的问题是,如果我在 Python 中创建一个函数并想使用它,那么我还需要记住它所在的模块。我的记忆力很糟糕。我知道 Python 的结构是为了提高效率,但如果我只向标准库中添加少数几个我认为非常重要的函数,我猜对性能的影响实际上可以忽略不计。
解决方案
Python 有一个命名空间__builtins__
,您可以在其中粘贴您想要随时可用的东西。你可能不应该,但你可以。小心不要破坏任何东西。Python 不会阻止您使用与内置函数相同的名称,如果您这样做,它可能会破坏很多东西。
# define function to always be available
def fart():
print("poot!")
__builtins__.fart = fart
# make re module always available without import
import re
__builtins__.re = re
现在的问题是如何让 Python 在您每次启动解释器时为您运行该代码。答案是usercustomize.py
。按照这些说明找出计算机上正确目录的位置,然后usercustomize.py
在该目录中放置一个名为的新文件,该文件定义了您想要在__builtins__
.
还有一个环境变量 ,PYTHONSTARTUP
您可以将其设置为在以交互模式启动解释器时(即命令提示符)运行 Python 脚本。在 REPL 中探索时,我可以看到例如让您最喜欢的模块可用的好处。更多细节在这里。
推荐阅读
- python - 当我只能以只读模式打开某些文件时,使用 Python comtypes 打开和保存 word 文件?
- xamarin.forms - Esri.ArcGISRuntime 异常:对象已在 Xamarin 表单中拥有
- python - 返回 Django 中元组选择的值
- spring-boot - Spring-Cloud-Kubernetes propertySource 顺序
- python - Create new column based on data type and shift data there
- vue.js - 如何修复 vuejs/vuetify 项目中的 steamalert2 font-family 问题?
- postgresql - psql 要求输入用户密码,即使我提供了正确的密码,它也会返回错误
- laravel - 嵌套急切加载特定列
- vb.net - 无法使用 Discord.net 对 Discord 消息做出有问题的反应:错误:服务器响应错误 404:NotFound
- python - 如何在 PyCharm 中使用 shell_plus (iPython) 控制台?