编辑(澄清问题):
我有一个包含许多 .py 文件的包的 python 2.4 脚本。.Pyc 文件是自动创建的。
我可以从许多 .pyc 文件中只制作一个 .pyc 文件吗?
客户不应获得 .py 文件。在最好的情况下,他应该只得到一个 .pyc 文件。
编辑(澄清问题):
我有一个包含许多 .py 文件的包的 python 2.4 脚本。.Pyc 文件是自动创建的。
我可以从许多 .pyc 文件中只制作一个 .pyc 文件吗?
客户不应获得 .py 文件。在最好的情况下,他应该只得到一个 .pyc 文件。
如果您使用 Python 3.2+,这些文件将被放置在一个__pycache__
目录中。
在早期版本中,我不相信有办法改变 Python 的行为(尽管 PEP 确实说该功能可能会向后移植到 2.7 - 这没有发生) - 但您可能能够将文件管理器配置为隐藏.pyc
文件。
除此之外,您可以使用 bash 脚本或类似的东西清除这些文件,因为它们可以在每次运行程序时生成。
一般来说,我建议让它们保持原样。
我仍然不能 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'