我需要一个能够最小化 python 代码文件,但不改变我的换行方式的代码压缩器。(为了便于报错时查错,所以行号不想改变)
具体点的说话,希望工具能够:
![]() | 1 mightybruce 2024-09-24 10:53:51 +08:00 ![]() https://python-minifier.com/ 看看这个是否满足 |
![]() | 2 q8515620 2024-09-24 10:56:42 +08:00 不改变行号这个可能现有的工具都不支持吧? |
3 br_wang 2024-09-24 12:59:09 +08:00 python 生态有类似 sourcemap 的工具么? |
![]() | 4 SilenceRet 2024-09-24 13:08:17 +08:00 py 这种逆天的以缩进控制结构的东西 还能压缩吗 =_=! |
5 zepc007 2024-09-24 13:53:46 +08:00 ![]() python 代码又不是 2C 的,此举意义何在? |
6 drymonfidelia 2024-09-24 13:59:00 +08:00 不改变行号的话 winrar 可以做到 就是压缩完的不能被 cpython 直接执行 @q8515620 |
![]() | 7 treblex 2024-09-24 15:33:58 +08:00 二进制可以用 upx ,可以压掉 3/4 |
![]() | 8 tomczhen 2024-09-24 17:58:25 +08:00 zipimport |
9 crackidz 2024-09-24 20:19:57 +08:00 你这样,要不直接提供 pyc 吧 |
![]() | 10 louis16s 2024-09-24 20:33:58 +08:00 有这个必要吗 |
![]() | 11 sazima 2024-09-24 21:17:19 +08:00 把项目代码压缩成 zi , 写一个启动器解压代码并执行。 |
![]() | 12 sazima 2024-09-24 21:19:19 +08:00 研究一下, 不把文件实际解压到磁盘上,只把代码读到内存中也是可以的 |
![]() | 13 ClericPy 2024-09-24 21:57:08 +08:00 https://github.com/ClericPy/morebuiltins/blob/master/morebuiltins/utils.py#L411 以前做过类似的 code_inline ,保留行号应该也留个差不多,毕竟只是压缩了一下。 报错查错自己写个 format error 也可以找到是哪行哪句报哪个错 https://github.com/ClericPy/morebuiltins/blob/master/morebuiltins/utils.py#L782 |
![]() | 14 guiyumin 2024-09-25 00:24:37 +08:00 既然都用到编译器了 那不如编译的时候把缩紧改为大括号,然后把这个编译后的代码运行在一个支持大括号的 python 解释器上,完美 至于这个支持大括号的 python 解释器,我觉得可以考虑给 cpython 写个插件之类的 |
![]() | 15 Reficul 2024-09-25 01:46:36 +08:00 Python 支持从 zip 压缩包里执行代码,可以看下: 1. https://peps.python.org/pep-0273/ 2. https://peps.python.org/pep-0441/ |
![]() | 16 Reficul 2024-09-25 01:47:57 +08:00 另外提一嘴,一般文本文件压缩率在 10x 左右,不管是 gzip 还是 zip 都差不多。 |
17 mayli 2024-09-25 03:56:28 +08:00 zipimport + pyc? |
![]() | 18 lekai63 2024-09-25 09:10:04 +08:00 via iPhone 不如 pyc 交付? |
![]() | 19 qiuhang 2024-09-25 10:46:36 +08:00 编译成二进制交付?比如用 nuitka |
![]() | 20 ylei 2024-09-25 11:07:49 +08:00 代码 -》 AST -》 代码 |
![]() | 21 enrolls 2024-09-25 16:54:31 +08:00 有意义吗?有作用吗?哪怕你只给 pyc ,能运行就能 hook ,能 hook 就能 export 。打包 pyd 吧,OD 一样能看,只是繁琐而已。 |