易截截图软件、单文件、免安装、纯绿色、仅160KB

简化Python解释环境的安装

问题描述
在C++和Python混合编程中,在软件发布的时候需要将python的解释器打包到安装程序中,为了提高用户体验,我们需要让用户感觉不到python的安装,如果用户已经安装有python的环境,我们也要保证不影响现有的系统。
解决方案
在Python2.5以后,python支持从zip文件中读取python脚本文件,支持读取py,pyc,pyo,不支持读取pyd,因此
我们可以将python的标准库编译以后打包到一个zip文件中,在C++中调用python脚本的时候,将zip文件加入到sys.path的搜索路径中来完成。
将python的标准库的脚本文件目录C:\Python25\Lib中的脚本文件copy到一个指定的目录,然后我们删除掉一些不用的库文件比如msilib,complier等(此步不熟悉可以不要省去删除多余文件)。
将脚本编译为优化后的文件 python -O -m compileall destdir,然后删除所有冗余的py和pyc, del /S /Q "%1\*.pyc" "%1\*.py " ( %1 表示目标文件夹 )
将文件压缩成zip格式 "%WINRAR_DIR%\WinRar" a -r -m5 -tk "python25.zip"  "*"
我们自己的py文件可以按照同样的方法压缩到src.zip中
将python的pyd文件(Windows默认是C:\Python25\DLLs)复制到目标文件夹python25_dll中
将python25.dll复制到应用程序的搜索路径中
在C++中调用Python的C API设置python库的搜索路径,这样我们就可以就可以通过Python C API进行混合语言的编程,在部署的时候不需要单独按照python安装程序
    char buffer[1024] = { 0 };
    Py_Initialize();
    PyRun_SimpleString( "import sys" );
    //获取当前路径,如果是GUI程序有可能会改变程序的当前工作目录,如果是服务器
    //程序一般当前的工作目录就是二进制文件所在的目录
#ifdef WIN32
    char achCwdBuf[PATH_MAX] = {0};
    if( NULL != GetModuleFileName(NULL, achCwdBuf, PATH_MAX) )
#else
    if( NULL != ACE_OS::getcwd(achCwdBuf, PATH_MAX) )
#endif // end of ifdef WIN32
    {       
        string strCwd = achCwdBuf;
        strCwd = strCwd.substr( 0, strCwd.find_last_of(


相关文档:

PDF自动改名的Python程序


下载的PDF文档中有的命名很乱,就想起了自己写个程序,然后读取PDF的title属xing,根据这个属xing,更改次文档的名字!以下是代码:
需要到:http://pybrary.net/pyPdf/上面下载对应平台的PDF的库文件,然后安装,导入。
#encoding:utf-8
import os
import operator
from pyPdf import PdfFileWriter, PdfFileReader ......

python操作excel性能问题求助

http://bbs.chinaunix.net/thread-1586782-1-1.html
我刚刚用python写了一段操作excel的脚本,目的是把一个excel文件按照某一列中的字段拆分成多个文件,例如按照城市或者省份等,但是发现处理一个1700行的文件拆分成40多个文件时要运行30分钟左右,性能太慢,请高手帮忙看看怎么才能优化性能,谢谢。
新手写的脚本,请不 ......

Python 开篇

由于工作需要,又要学习新的开发语言-Python, 语言学过几种了, 感觉还是有好多相似的地方, 这个Python感觉就跟Java有好多相通的地方, 首先你可以在Eclipse上通过配置后来开发Python。这里我听从了老大的建议,配置了一个FlexBuilder 作为Python的IDE进行开发。
目前刚开始学习Python的基本语法, 今天主要看了一下Pyth ......

Python常用模块下载链接

Python http://www.python.org/download/ wxPython http://www.wxpython.org/download.php#binaries Vpython http://vpython.org/contents/download_windows.html Matplotlib http://sourceforge.net/projects/matplotlib/files/matplotlib/ PyGlet http://www.pyglet.org/download.html PyGame http://www.pyga ......

python写的将一些类型的文件压缩为7z格式

#将一些类型的文件压缩为7z.py
#for folder all file do 7z
import os
import sys
import distutils.file_util
def ImportOkFile():
    if(os.path.isfile("D:\\Records\\将一些类型的文件压缩为7z_record.txt")==False):
        f=open("D:\\Reco ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号