运行编译的Python

时间:2013-11-26 03:19:59

标签: python django

所以我最近刚刚进入Python世界,并将其引导到为我自己制作的快速个人程序以及专业用于Django的Web应用程序设计。我已经学习了一些Python教程和大多数Django教程,并且尽可能地阅读Python文档。

我最近看到.pyc文件只是字节码(编译).py脚本,并且不会使Python语言更快,只有更轻和非人类可读。但是,在中低流量站点(例如,95%的网站)中,这与PHP的差别可以忽略不计(并且我发现Python的效率要高出数千倍)。

问题是:你能从没有.py文件的.pyc文件中执行Python程序吗?如果是的话,在Django中这也是可能的吗?怎么样?这是使网络应用程序“几乎闭源”的好方法吗?

2 个答案:

答案 0 :(得分:3)

  

你可以从没有.py文件的.pyc文件中执行Python程序吗?

是。只需将.pyc文件放在通常使用.py文件的地方(当然,除了文本编辑器外)。

  

如果是,在Django中这也是可能的吗?怎么样?

没有区别。无论使用什么框架,解释器都以相同的方式处理文件。

  

让网络应用“几乎闭源”是一种好方法吗?

不是真的。反编译已编译的Python字节码是微不足道的。

答案 1 :(得分:0)

是的,你可以用py存在来执行pycs。对于由构建过程编译而不是在主机的文件系统中松散的站点来说,这是一个常见的技巧。您还可以将pyc压缩到存档中,并将存档放在解释器的路径中,以便您可以在一个块中管理整个文件集群(以及文件夹和子文件夹)。

OTOH不希望这条路线有太大的安全性,用Uncompyle

之类的东西很容易得到pyc的内容