日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python文件夾創(chuàng)建九步輕松搞定

Python文件夾創(chuàng)建在有些時候是必須要使用的。在整理文件上十分有必要。下面我們就看看如何才能更好的使用這個技術(shù)。Python文件夾創(chuàng)建沒有內(nèi)建一個編譯為exe的功能。給python程序的部署帶來不少的麻煩。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),福山企業(yè)網(wǎng)站建設(shè),福山品牌網(wǎng)站建設(shè),網(wǎng)站定制,福山網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,福山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

所以就會出現(xiàn)一些py2exe之類的很不錯的工具,用于自動把.py文件編譯為.exe 文件。最近抽空研究了一下手動實(shí)現(xiàn)類似py2exe的功能,希望加強(qiáng)對python的了解。

Python文件夾創(chuàng)建結(jié)果還相當(dāng)不錯。把結(jié)果記錄下來,與大家共享。

一、 原理

文中所描述的方法,基于python的以下幾個功能

1. python程序運(yùn)行時,會在sys.path指定的路徑中查找?guī)煳募?/p>

2. python從2.3開始,支持從zip文件中import庫(支持.py,.pyc和.pyo,但不支持.pyd)

3. python提供C API,讓c語言的程序,可以很方便的調(diào)用python的程序

二、實(shí)際步驟

注:假設(shè)python安裝在c:\python25目錄中,最后的可執(zhí) 行文件放到d:\dist目錄中

1. 先去c:\python25\Lib目錄,把所有文件都復(fù)制出來,比如復(fù)制到d:\pythonlib目錄中

2. 開一個cmd窗口,進(jìn)入d:\pythonlib目錄中,運(yùn)行 python -OO compileall.py -f . 把lib中的.py文件都編譯成.pyo文件

3. 刪除d:\pythonlib目錄中所有的.py和.pyc文件,因?yàn)槲覀冎灰?pyo文件就可以讓這些庫運(yùn)行了。

4. 刪除目錄中所有用不著的文件,比如curses,test,idlelib,msilib等,以減少生成文件的體積。

5. 把這些庫打包成一個zip文件,比如stdlib.zip,放到d:\dist目錄中

6. 把c:\python25\dlls目錄中的.pyd和.dll文件,復(fù)制到d:\dist\dlls目錄中,當(dāng)然,刪除不可能用到的一些文件 _msi.pyd,_ssl.pyd等等,可以減少文件的體積

7. 把自己寫的程序,也按步驟2至步驟5所說的方法,打成一個mysrc.zip包,放到d:\dist目錄中。 注意:自己寫的程序的入口 應(yīng)該是main.pyo文件

8. 用以下C程序編譯出一個可執(zhí)行文件,比方說叫runpy.exe,也放到d:\dist中。

 
 
 
  1. #include #include int main(){ // 
    得到當(dāng)前可執(zhí)行文件所在的目錄   
  2. char szPath[10240]; char szCmd[10240];   
  3. GetModuleFileName(NULL, szPath, sizeof(szPath));   
  4. char* p = strrchr(szPath, '\\');   
  5. if (p == NULL) { printf("Get module file name error!\n"); 
    return -1; }   
  6. *p = 0; // 把sys.path設(shè)定為['.', '自己的源代碼zip文件',   
  7. '標(biāo)準(zhǔn)庫zip文件', 'dll目錄'] // 然后調(diào)用main模塊   
  8. sprintf(szCmd, "import sys\n" "sys.path=['.', r'%s\\mysrc.
    zip', r'%s\\stdlib.zip', r'%s\\dlls']\n" "import main\n", 
    szPath, szPath, szPath);  
  9. Py_Initialize(); PyRun_SimpleString(szCmd); return 0;} 

9. 把python25.dll放到d:\dist目錄中。

三、結(jié)束語

這樣來,d:\dist目錄中,一共只有4個文件加一個目錄:#t#

dlls目錄:用于存放所有的dll文件和 pyd文件。stdlib.zip文件:用于存放所有的 python的.pyo文件格式的標(biāo)準(zhǔn)庫,mysrc.zip文件:用于存放自己寫的 程序。注意,自己寫的程序的入口在main.pyo中。runpy.exe文件:程序的啟動文件, 啟動后會設(shè)定python的sys.path,然后調(diào)用main模塊,python25.dll文件:python 的核心dll,runpy.exe依賴于這個dll

哈哈,相當(dāng)?shù)暮啙嵜髁税?。一共?個文件一個 目錄,5MB都不到哦。

注:當(dāng)然,這種打包方式第一次做的時候比較麻煩,但之后就可以只要把自己的程序打包就好 了,其它的不用變。

而且,如果自己的程序經(jīng)常做改動的話,自己的程序也可以不打包,直接放到d:\dist中,反正runpy.exe啟動程序的時候,只要能正常運(yùn)行 import main就可以了。以上就是對Python文件夾創(chuàng)建的相關(guān)介紹。


網(wǎng)頁題目:Python文件夾創(chuàng)建九步輕松搞定
標(biāo)題網(wǎng)址:http://www.5511xx.com/article/cddsoeg.html