修改python的内置代码是正确的吗?

时间:2014-12-26 19:31:35

标签: python built-in

我想也许(如果这并不意味着任何不便)我可以修改Python的内置代码,这样我就可以添加我的自定义函数,模块,类,所以我不必导入我编码时的任何事情。考虑建立我自己的版本。

我认为这有缺点,我想知道哪些。

2 个答案:

答案 0 :(得分:2)

这与我在这里写的答案类似:

  

Where is the PYTHONPATH defined in the first place?

     

这不是一个好主意:你必须修改python的内置代码   和图书馆。我甚至不知道他们是否编译,但如果他们   即使你能够修改代码(我没有修改代码)也没有   知道这是否有可能以我们假设的简单方式)你会跑   麻烦:

     
      
  1. 你可能会搞砸python赢得的任何其他代码部分,而你却不知道为什么
  2.   
  3. 您的应用程序不会与任何其他计算机兼容,因为您也必须修改该程序包。
  4.   
  5. 即使你有一个脚本修改包(因此它是兼容的),或者即使你只是在一台独特的机器上运行它,你也可以   没有足够的系统权限这样做(在你的情况下,我想   你这么做,因为我认为你是机器的所有者,但你可能没有)
  6.   
  7. 大多数Python实现都没有现场可用的原始源代码。它全部编译完毕。所以,你需要去   下载原始代码并自己编译,这是另一个   问题。
  8.         

    我不是真的推荐它,但如果你还想尝试,我希望   有人可能比我更好地回答你的问题。

我现在添加

也许如果您要添加到语言中的修改非常一致且频繁,您可以构建自己的Python版本,您可以在任何地方安装并与朋友分享。 正如@ user286474所指出的那样

  

听起来好像没有建立适当的Python环境..不要改变工具,改变环境。它更简单并且可以满足您的需求 - 修改Python核心的唯一理由是在核心级别扩展语言,例如添加新语法或修改VM的工作方式.-

我认为他是对的。不过,您可能仍希望修改Python的原始内容,将其替换为自定义内容。我真的不推荐它。但是,如果您认为合适,可以下载Python的原始代码并自行编译。这是一项艰巨但有趣的任务。

答案 1 :(得分:2)

我不认为避免导入模块的需要是构建自己的python版本的一个很好的理由。请注意,您可以编写一个模块" standard.py"含有:

import sys, math, os, ... # all the other modules you like to have handy

然后在你的代码中你可以添加一行

import * from standard

然后你可以使用例如

sys.argv

就像您在脚本中导入sys

一样