gpt4 book ai didi

python - 让 python 将编译代码存储在文件流而不是 pyc 文件中是一个好主意吗?

转载 作者:行者123 更新时间:2023-12-01 06:14:59 24 4
gpt4 key购买 nike

我想知道如果Python将编译后的代码存储在原始源文件的文件流中不是更好吗?这适用于支持 fork /数据流的文件系统,如果不可能,则回退。

  • 在 Windows 上使用 ADS(替代数据流)
  • 在 OS X 上使用资源 fork
  • 在 Linux 上,如果编译文件小于 32k,则使用扩展文件属性

这样做将解决污染源代码树的问题,或者解决诸如删除 .py.pyc 仍然存在并被加载和使用的问题。

您对此有何看法,听起来是个好主意还是不好?需要查看哪些问题。

最佳答案

您确实会以这种方式牺牲大量的可移植性 - 现在 .pyc 文件的可移植性并不常见(通常由 LAN 上的异构系统通过某种网络文件系统安排使用,例如例如,尽管我从来不喜欢这种方法的性能特征),而您的方法只能在非常特定的文件系统上工作,并且(我怀疑)永远不能通过异构机器上的网络安装。

因此,将您想要的行为设置为默认行为将是一个可怕的错误 - 但如果您的部署环境不支持,将其作为可用于特定请求的选项肯定会很巧妙不关心上述所有问题,但确实关心您提到的一些问题。另一个“很酷的选择”,我实际上使用频率大约是 100 倍,是将 .pyc"file"放入数据库中,而不是将它们放在文件系统。

很酷的事情是,这可以(相对)轻松地以某种方式(取决于 Python 版本)作为附加“导入黑客”来完成——在最近的版本中最容易使用 importlib ,Brett Cannon 的杰作(但这可能会使向后移植到较旧的 Python 版本比其他方式更困难......太多取决于您需要支持的版本,我在您的 Q 中没有看到这个细节,所以我不会进入实现细节,但总体思路在不同实现中并没有太大变化)。

关于python - 让 python 将编译代码存储在文件流而不是 pyc 文件中是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793745/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com