向Python标准库添加功能?

时间:2018-08-22 00:27:37

标签: python function

是否可以将我创建的功能添加到本地计算机上的Python标准库中?

我来自Matlab世界,那里的事情并不是真正高效和快速的,但是在不导入文件的情况下,我触手可及的地方有很多功能。我的问题是,如果我在Python中创建一个函数并想使用它,那么我还需要记住其中的模块。我的记忆力很弱。我知道Python是通过这种结构来提高效率的,但是如果我仅向我认为非常重要的标准库添加少量功能,我想对性能的影响实际上可以忽略不计。

2 个答案:

答案 0 :(得分:1)

听起来您想使用计划在将来在其他项目上使用的工具来创建自己的软件包和模块。在这种情况下,您需要查看打包自己的项目文档的方法: https://packaging.python.org/tutorials/packaging-projects/

您可能还会发现这很有用:

答案 1 :(得分:1)

Python有一个名为__builtins__的命名空间,您可以在其中始终粘贴您想要的内容。您可能不应该,但是可以。注意不要clobber anything。 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.pyFollow these instructions找出您机器上正确的目录,然后在该目录中放入一个名为usercustomize.py的新文件,该文件定义了您想在__builtins__中拥有的所有内容。

还有一个环境变量PYTHONSTARTUP,您可以将其设置为在以交互方式(即在命令提示符下)启动解释器时运行Python脚本。我可以看到例如在REPL中进行探索时,可以使用自己喜欢的模块。更多详细信息here