python爬虫中pyc文件的生成和使用

一、pyc文件是什么?

python中的pyc扩展名文件,类似于Java的Class字节码文件,是由编译器编译得来的,供解释器使用;
当我们部署程序时,不想暴露源码,可以使用pyc文件;
它存在__pycache__文件里

二、生成单个pyc

方式一:命令行:
使用python内置的py_compile库,操作简单;

python3.6 -m py_compile test.py

python也可以不用指定版本
-m的作用:把模块当作脚本来执行
方式二:脚本:

#!/usr/bin/env python3.6
# coding=utf-8
import py_compile
 
py_compile.compile('test.py')

执行完后,会出现名为“pycache”的文件夹,里面有test.cpython-36.pyc文件;

我们运行此pyc文件,

python3.6 __pycache__/test.cpython-36.pyc

三、批量生成pyc

使用python内置的compileall库;

同样有2种方式,这里使用命令行演示;

test文件夹下有两个文件test.py和test2.py;

使用命令行,一次将2个文件编译成对应的2个pyc文件,
方式一:命令行:

python3.6 -m compileall test

执行完毕后,在test文件夹下会生成__pycache__文件夹,其中有两个pyc文件,test2.cpython-36.pyc和test.cpython-36.pyc,这两个pyc文件也可以执行。
方式二:脚本:

import compileall
compileall.compile_dir(r'/Users/***/PythonFiles/')

Python Shell 命令生成

直接通过命令来运行,可以看到下面的命令中并没有用到compile()函数, 这是因为py_compile模块的main()函数中调用了compile().

 python3 -m py_compile ****.py

 python3 -O -m py_compile ****.py

-O 优化成字节码
-m 表示把后面的模块当成脚本运行

-OO 表示优化的同时删除文档字符串

如果你想看compile(), compile_dir(), compile_path()具体每个参数是干吗用的,可以使用print py_compile.compile().__doc__来查看,或者直接打开py_compile.py,compileall.py文件来看。

四、具体使用

直接使用python编译源码时,会生成对应的(.pyc)文件,这些文件会被存放在__pycache__文件夹下,我们可以将里边的文件copy出来,这时候可以删除对应的.py文件,同时需要将***.pyc文件的名字进行修改。

例如: python 的.py文件叫 main.py, 生成的.pyc文件叫main.cpython-36.pyc,在我们使用该模块的时候,需要将main.cpython-36.pyc修改为main.pyc, 这里的“cpython-36”表示的是我在python 3.6 的环境下编译的。改完以后,在命令行使用命令运行总pyc文件或者单个文件就可以了

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿肆si

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值