2

编辑(澄清问题):

我有一个包含许多 .py 文件的包的 python 2.4 脚本。.Pyc 文件是自动创建的。

我可以从许多 .pyc 文件中只制作一个 .pyc 文件吗?

客户不应获得 .py 文件。在最好的情况下,他应该只得到一个 .pyc 文件。

4

2 回答 2

4

如果您使用 Python 3.2+,这些文件将被放置在一个__pycache__目录中。

在早期版本中,我不相信有办法改变 Python 的行为(尽管 PEP 确实说该功能可能会向后移植到 2.7 - 这没有发生) - 但您可能能够将文件管理器配置为隐藏.pyc文件。

除此之外,您可以使用 bash 脚本或类似的东西清除这些文件,因为它们可以在每次运行程序时生成。

一般来说,我建议让它们保持原样。

于 2012-10-22T12:04:22.510 回答
1

我仍然不能 100% 确定您为什么要这样做,但一种方法是压缩所有 *.pyc 文件,然后使用自 Py2.3 以来一直存在的zipimport机制。

取自页面底部的示例:

$ unzip -l /tmp/example.zip
Archive:  /tmp/example.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
     8467  11-26-02 22:30   jwzthreading.py
 --------                   -------
     8467                   1 file
$ ./python
Python 2.3 (#1, Aug 1 2003, 19:54:32)
>>> import sys
>>> sys.path.insert(0, '/tmp/example.zip')  # Add .zip file to front of path
>>> import jwzthreading
>>> jwzthreading.__file__
'/tmp/example.zip/jwzthreading.py'
于 2012-10-26T08:44:11.783 回答