pyc是啥子,pyc和py文件的区别
原地址:https://blog.csdn.net/m0 _ 37550221/文章/详情/78907972
3359 www.cnblogs.com/dk博客/档案/2009/04/16/1980757.html
1.pyc pyc是一个二进制文件,是编译py文件后生成的文件,是一个字节码。当py文件变成pyc文件时,加载速度会加快。另外,pyc是跨平台的字节码,由python的虚拟机执行。这就是JAVA和。网。pyc的内容与python的版本有关,不同的版本编译不同的pyc文件。用2.5编译的Pyc文件不能在2.4中运行。
2.为什么要生成pyc文件?1.好处是。pyc文件运行速度比。py文件。
2.开发商业软件时,一定程度上防止源代码泄露。所以你需要把它编译成pyc,然后发布。当然,pyc文件也可以反编译。不同版本的pyc文件编译出来是不一样的,需要不同的反编译工具。
3.pyc文件生成方法1。个体世代
你需要一个script.py来生成python-mpy _ compile/path/to/. pyc。
2.批量生成
Python -m py_compile /path/to/{脚本1,脚本2,}。py #或/path/to/
3.使用python提供的模块来生成
导入py _编译
py _ compile.com堆(r h : (game (test.py ))))))))))))))))))))))))).
#尝试在这里使用原始字符串以避免转义失败。比如这里不加“r”,就必须对斜杠进行转义。
编译函数原型:
编译(文件[,cfile[,dfile[,doraise]]))
File表示要编译的py文件的路径。
Cfile表示编译后的pyc文件的名称和路径。默认情况下,文件名后面会添加C或O and O来表示优化的字节码。
Dfile是指在编译错误的错误消息中用“dfile”替换名称“file”。
Doraise可以有两个值:真或假。如果为True,将引发PyCompileError。否则编译文件时会出现错误,默认显示在sys.stderr中,不会抛出异常。
(来自python2.5文档)
4.Python附属模块批量生成pyc文件。
一般来说,我们的项目都在一个目录里。除了编译py文件,文件夹下的整个py文件也必须编译成pyc文件。Python还为我们提供了另一个模块compileall。用法如下。
compile_dir功能描述:
compile_dir[,maxlevels[,ddir[,force[,rx[,quiet]]]]
Dir表示要编译的文件夹的位置。
Maxlevels表示子目录中必须递归编译的层数。默认值为10级。这意味着默认情况下,10级子目录中的py文件将被编译成pyc。
dir original:itiusedashbasepathfromthefilenames usedinerrormessageswillbegenerated。
如果force为真,则强制编译成pyc。即使当前的pyc文件是最新的,它也会被强制编译一次。Pyc文件包含时间戳,python编译器根据时间决定是否重新生成pyc文件。
Rx表示一个正则表达式。例如,可以排除不必要的目录,或者只编译符合条件的目录。
如果quiet为True,消息在编译后将不会在标准输出中打印。
(来自python2.5文档)
4.需要生成pyo文件python-o-mpy _ compile/path/to/的script.py是什么?皮欧?
-O选项,优化。pyc文件(请注意我一直强调的“优化”这个词。用在这里。优化。将文件复制到。pyo文件,而不是将它们编译成。pyo文件。直接结果是,优化后的编译文件比。pyc文件,意思是“减肥”。现在你知道为什么?pyo文件太小了。
综上所述的方法,你可以很容易的把py文件编译成pyc文件,这样就可以隐藏一些源代码了。python做商业软件的时候,部分安全性是有保障的。继续学习,看看如何修改操作码。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。