当前位置:首页 » 编程软件 » Pyc编译

Pyc编译

发布时间: 2022-04-13 04:36:42

① ".pyc"文件是什么文件

pyc文件就是 py程序编译后得到的字节码文件 (py->pyc),python为了提高运行效率也会进行编译,有时候编译出pyc文件后,删除py文件也不会出错

助于pyc文件的产生,给楼主举例
加入你有一个逻辑文件abcd.py,里面有很多函数A,B,C,D,这个时候,如果你有一个test脚本去导入了abcd.py,只要你运行test脚本,在adcd.py目录下就会生成一个abcd.pyc文件,而不管你是否需要调用A,B,C,D函数

② python怎么编译成pyc文件

如下命令:

python-mcompileallxxx.py

可以对当前目录下的xxx.py文件生成pyc

③ 如何手动编译成pyc,可以直接执行pyc么

pyc文件就是 py程序编译后得到的字节码文件 (py->pyc),python为了提高运行效率也会进行编译,有时候编译出pyc文件后,删除py文件也不会出错助于pyc文件的产生,给楼主举例加入你有一个逻辑文件abcd.py,里面有很多函数A,B,C,D,这个时候,如果你有一个test脚本去导入了abcd.py,只要你运行test脚本,在adcd.py目录下就会生成一个abcd.pyc文件,而不管你是否需要调用A,B,C,D函数

④ pyc能编译吗

生成单个pyc文件
python就是个好东西,它提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是 py_compile 模块。
使用方法非常简单,如下所示,直接在idle中,就可以把一个py文件编译为pyc文件了。(假设在windows环境下)

import py_compile
py_compile.compile(r'H:/game/test.py')

compile函数原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要编译的py文件的路径
cfile 表示编译后的pyc文件名称和路径,默认为直接在file文件名后加c 或者 o,o表示优化的字节码
dfile 这个参数英文看不明白,请各位大大赐教。(鄙视下自己)原文:it is used as the name of the source file in error messages instead of file
doraise 可以是两个值,True或者False,如果为True,则会引发一个PyCompileError,否则如果编译文件出错,则会有一个错误,默认显示在sys.stderr中,而不会引发异常
(来自python2.5文档)
批量生成pyc文件
一般来说,我们的工程都是在一个目录下的,一般不会说仅仅编译一个py文件而已,而是需要把整个文件夹下的py文件都编译为pyc文件,python又为了我们提供了另一个模块:compileall 。使用方法如下:

import compileall
compileall.compile_dir(r'H:/game')

这样就把game目录,以及其子目录下的py文件编译为pyc文件了。嘿嘿,够方便吧。来看下compile_dir函数的说明:

compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])
dir 表示需要编译的文件夹位置
maxlevels 表示需要递归编译的子目录的层数,默认是10层,即默认会把10层子目录中的py文件编译为pyc
ddir 英文没明白,原文:it is used as the base path from which the filenames used in error messages will be generated。
force 如果为True,则会强制编译为pyc,即使现在的pyc文件是最新的,还会强制编译一次,pyc文件中包含有时间戳,python编译器会根据时间来决定,是否需要重新生成一次pyc文件
rx 表示一个正则表达式,比如可以排除掉不想要的目录,或者只有符合条件的目录才进行编译
quiet 如果为True,则编译后,不会在标准输出中,打印出信息
(来自python2.5文档)
总结
通过上面的方法,可以方便的把py文件编译为pyc文件了,从而可以实现部分的源码隐藏,保证了python做商业化软件时,保证了部分的安全性吧,继续学习下,看怎么修改opcode。

⑤ 什么是pyc文件

pyc文件就是 Python 程序编译后得到的字节码文件 (py->pyc).
pyc文件一般由3个部分组成:
最开始4个字节是一个Maigc int, 标识此pyc的版本信息, 不同的版本的 Magic 都在 Python/import.c 内定义

接下来四个字节还是个int,是pyc产生的时间(1970.01.01到产生pyc时候的秒数)
接下来是个序列化了的 PyCodeObject(此结构在 Include/code.h 内定义),序列化方法在 Python/marshal.c 内定义

⑥ 如何编译生成PYC文件

Python语言编程中如何编译生成PYC文件?(版本Python V 3.4.1)
(1) compile() 函数
compile() 函数有两个, 一个是内建函数,另一个是模块py_compile中的.前者生成一个Compile对象,它只能在代码中被调用(exec(comp)),不能生成pyc文件。后者必须生成pyc文
件,但不能在交互界面运行它(run 和 exec都不行)。

(2) 生成生成pyc文件
compile(file, cfile=None, dfile=None, doraise=False, optimize=-1)
例子:
compile("test.py")
compile("test.py", "test.pyc")
第一种方法输出文件在子目录__pycache__中,而且文件名是test.python-34.pyc,有两个点,不好!所以一定要用第二种格式输出文件在当前当前目录。其它选项都缺省就行, -1 表示优化,所以pyo文件也不用去做了。

(3) pyc文件的运行
不能在python的交互界面中运行(run 和 exec都不行)。只能够在DOS屏幕上运行, 格式为:
python test.pyc [argv]
在程序中调用可以用:
os.system ("python test.pyc ")

(4)内建函数compile()的语法
compile(source, filename, mode[, flags[, dont_inherit]]) -> code
object。
生成一个code对象。
例子:
yuju = "print('hello')"
hc = compile(yuju, "yuju.err", "single")
exec(hc)
输出:hello
type(hc) --> code
使用时至少要提供3个参数,source是源代码,它可以是语句、表达式或代码文件。filename要求一个文件名储存出错信息,mode是编译模式,只能使用如下3种:exec, eval, single。

⑦ python 怎么编译pyc文件

如下命令:

1
python -m compileall xxx.py
可以对当前目录下的xxx.py文件生成pyc

⑧ PYC是什么意思

pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。

不知你的PYC是在何种情境下看到的PYC····

⑨ python如何编译生成二进制文件

1、可以
2、当你编辑运行py文件后,就会生成对应文件名的pyc文件。
3、pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。
总之,是可以的

⑩ 如何编译Python程序生成.pyc文件

pyc文件就是
py程序编译后得到的字节码文件
(py->pyc),python为了提高运行效率也会进行编译,有时候编译出pyc文件后,删除py文件也不会出错助于pyc文件的产生,给楼主举例加入你有一个逻辑文件abcd.py,里面有很多函数A,B,C,D,这个时候,如果你有一个test脚本去导入了abcd.py,只要你运行test脚本,在adcd.py目录下就会生成一个abcd.pyc文件,而不管你是否需要调用A,B,C,D函数

热点内容
linuxpython命令行 发布:2025-03-15 16:19:45 浏览:958
编译androidx86 发布:2025-03-15 16:19:01 浏览:785
戴尔g15怎么切换温度配置文件 发布:2025-03-15 16:16:18 浏览:850
长江存储0 发布:2025-03-15 16:15:35 浏览:46
地狱边境安卓版不支持谷歌怎么办 发布:2025-03-15 16:15:32 浏览:161
kld数据库 发布:2025-03-15 15:46:27 浏览:263
互联网数据库设计 发布:2025-03-15 15:44:42 浏览:240
自适应滤波c语言 发布:2025-03-15 15:40:25 浏览:969
cs狙击脚本 发布:2025-03-15 15:25:15 浏览:344
平板搭建ftp服务器 发布:2025-03-15 15:24:32 浏览:832