⑴ 将.py 文件转换为.pyc 文件的命令要在哪里运行
在命令行输入:python-mpy_compilemyFile.py就可以生成对应的pyc文件了。之后就可以直接执行pyc文件。pythonmyFile.pyc。
python的pyc文件是一种二进制文件,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于java或者.NET的虚拟机的概念。
由于python程序的py文件很容易泄露源代码,所以python可以编译成保密的pyc文件。
⑵ python的程序可以编译成二进制可执行文件么
python下编译py成pyc和pyo
其实很简单,
用
python -m py_compile file.py
python -m py_compile /root/src/{file1,file2}.py
编译成pyc文件。
也可以写份脚本来做这事:
Code:
import py_compile
py_compile.compile('path') //path是包括.py文件名的路径
用
python -O -m py_compile file.py
编译成pyo文件。
1.其中的 -m 相当于脚本中的import,这里的-m py_compile 相当于上面的 import py_compile
2.-O 如果改成 -OO 则是删除相应的 pyo文件,具体帮助可以在控制台输入 python -h 查看
========================
from:http://blogold.chinaunix.net/u3/93255/showart_1944929.html
什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。
什么是pyo文件
pyo是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件
什么是pyd文件
pyd是python的动态链接库。
为什么需要pyc文件
这个需求太明显了,因为py文件是可以直接看到源码的,如果你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。当然,pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同的,根据python源码中提供的opcode,可以根据pyc文件反编译出 py文件源码,网上可以找到一个反编译python2.3版本的pyc文件的工具,不过该工具从python2.4开始就要收费了,如果需要反编译出新版本的pyc文件的话,就需要自己动手了(俺暂时还没这能力^--^),不过你可以自己修改python的源代码中的opcode文件,重新编译 python,从而防止不法分子的破解。
生成单个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表示优化的字节码
from:http://www.cnblogs.com/dkblog/archive/2009/04/16/1980757.html
⑶ 如何用python生成和读取二进制文件
withopen('a.jpg','rb')asf:
s=f.read()
withopen('b.exe','wb')asf:
f.write(s)
⑷ 怎样将写好的.py文件生成exe可执行文件
将写好的.py文件生成exe可执行文件的方法
安装好python,建议将python安装在根目录下。
去cxfreeze官网下载好对应的cx_freeeze版本。
正确安装cx_freeze,看下图
运行:cmd命令,查看cx_freeze是否安装正确。如果出现了下图的情况,说明环境变量设置不正确。请点击下面的环境变量设置方法。
0环境变量设置方法
当然,设置完环境变量可能还是有问题,那么这里就要设置路径了,路径设置在cxfreeze.bat文件中,cxfreeze.bat文件在:c:python34scripts文件夹下(如果你不是安装在c盘,找到相应位置即可)看下图,这里发现没有cxfreeze.bat文件。
那么要怎么生成cxfreeze.bat文件呢。用python编译一下cxfreeze-postinstall(二进制)文件即可,编译后的文件如下图
用记事本打开cxfreeze.bat文件。如果你不是装在c盘,请将路径改成你的安装路径。
这里以经典的hello world为例,看下图。cd: c:python34scripts将目录转到cxfreeze所在目录。cxfreeze c: esthello.py --target-dir c: est命令:cxfreeze c: esthello.py对hello.py进行编译,--target-dir目标存储目录为c: est文件夹。生成过程相当长,如下图。
看下test文件夹下,已经生成.exe文件。
点击运行,如下图(如果没有在代码中添加暂停的代码,只能看到黑框一闪而过)代码在后面一张图,供参考。至些,.py文件成功转成.exe可执行文件。
小刚SEO为你解答
⑸ Python有什么模块可以将文本文件转化成二进制文件
英文就是ascii编码嘛!
ord(num)显示字符的编码。
然后转化编码为二进制数不就可以了。
为了美化,可以每个数值添加几个零成为8位二进制数,作为一个byte,空格隔开。
python自建有bin()函数,可是返回的字符是以'0b'开头 # '0b000110'
可以使用下面的函数转换
bin = lambda n : (n > 0) and (bin(n/2) + str(n%2)) or ''
bin(2) # 10
⑹ python文件后缀是什么
python文件后缀总结:
(1).py:这通常是您编写的输入源代码。
(2).py3:Python3脚本(Python3脚本通常以.py而不是.py3结尾,很少使用)。
(3).pyc:这是编译好的字节码。如果导入一个模块,python将生成一个*.pyc包含字节码的文件,以便再次导入它更容易(也更快)。
.pyc二进制文件可以反编译成.py文件,反编译软件叫Easy Python Decompiler。
(4).pyo:这是在优化(-O)时创建的*.pyc文件,从Python3.5开始,Python将只使用.pyc而不是.pyo和.pyc。
(5).pyd:这基本上是一个Windows DLL文件。
(6).pyi:MyPy存根,存根文件(PEP 484)。
(7).pyw:用pythonw.exe执行的Windows的Python脚本。
(8).pyx:将Cython src转换为C/C++。
(9).pyz:Python脚本归档(PEP 441)(这是一个包含标准Python脚本头之后的二进制形式的压缩Python脚本(ZIP)的脚本)。
(10).pywz:用于MS-Windows的Python脚本归档(PEP 441)(这是一个包含标准Python脚本头之后的二进制形式的压缩 Python脚本(ZIP)的脚本)。
(11).py [cod]:.gitignore中的通配符表示该文件可能是.pyc,.pyo或.pyd。
(12).rpy:包含应用程序或框架特定功能的RPython脚本或Python脚本。
(13).pyde:处理使用的Python脚本。
(14).pyp:Py4D Python插件。
(15).pyt:Python声明文件。
众多python培训视频,尽在python学习网,欢迎在线学习!
⑺ python编程后如何编译成小程序
将python代码编译成exe文件的方法:
1、先在电脑上安装pyinstaller。
2、然后到指定目录下使用pyinstaller来将py文件编译成exe即可。
⑻ python 有没有预编译文本
1.简介
相对于py文件来说,编译成pyc和pyo本质上和py没有太大区别,只是对于这个模块的加载速度提高了,并没有提高代码的执行速度,通常情况下不用主动去编译pyc文件,除非需要商业提供,防止源代码泄露。
(1)什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由Python的虚拟机来执行的,这个是类似于Java虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。
(2)什么是pyo文件
pyo是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件
把需要的模块编译成pyo文件可以减少容量
2.反编译
将python文件编译为pyc文件(使用compileall 命令),再删除源代码。
(该文件类似于java中的class文件,但是我们使用的2.7版本的python,目前没有
免费版的反编译工具,所以目前要破解不是很容易,所以可以不必再做混淆)
(1)命令行编译方法:
python -m compileall src/
echo compile finished...
rm -rf src/*.py
编译成pyo的话:
就是在控制台执行 python -O -m py_compile file.py
(2)python程序编译方法:
如果需要特殊的单独编译,则只需要使用py_complie这个模块就行了,如下
import py_compile
py_compile.compile(r'H:\game\test.py')
反编译工具:
1.uncompyle2 只能编译2.7
反编译Demo代码:
import os
import sys
def displayFile(file):
unPath= sys.executable
unPath=unPath[ 0 : unPath.rfind( os.sep ) ]
newname = file[0:file.rfind('.')] + '.py'
command = "python -u "+unPath+"\scripts\uncompyle2 " + file + ">" + newname
try:
os.system(command)
except e:
print file
if __name__ == '__main__':
#print unPath
print 'init'
displayFile('E:\\test.pyc')
print 'finished'
2.zrax/pycdc 可以编译3.0
⑼ python可以编译成Linux下的二进制文件么
在处理一个回车符的文件和二进制中国的窗口,是有区别的:当写入文本,每遇到一个'\ N'换行,而被替换'\ r \ N'回车换行,然后写入该文件;当文本被读取时,它面临着一个'\ r \'回车换行,它会被转换到反'\'换行符。二进制文件没有这样的转换。但是,在与中国的Linux二进制文件处理本文档中有使用的fopen(“a.txt中”,“R”)(公开文本)的fopen和(“a.txt中”两者之间没有差别,例如,在Linux中中,两个函数“RB”)(以二进制模式打开)是相同的。
⑽ .py文件是什么
.py文件是python的脚本文件。
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。
然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。
这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。
或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。基于C的Python编译出的字节码文件,通常是.pyc格式。
(10)python将py文件编译成二进制文件扩展阅读:
python的优点:
1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
2、易学:Python极其容易上手,因为Python有极其简单的说明文档。
3、速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
4、免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
5、高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
6、可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
7、解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
8、面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
9、可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
10、可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
11、丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。
12、规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。