成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python文件夾創(chuàng)建九步輕松搞定

開(kāi)發(fā) 后端
Python文件夾創(chuàng)建是我們必須掌握的,下面我們就看看如何才能更好的使用相關(guān)的代碼。下面的文章希望你能找打你想要的。

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

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

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

一、 原理

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

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

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

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

二、實(shí)際步驟

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

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

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

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

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

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

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

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

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

 

  1. #include <Python.h>#include <Windows.h>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)庫(kù)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é)束語(yǔ)

這樣來(lái),d:\dist目錄中,一共只有4個(gè)文件加一個(gè)目錄:#t#

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

哈哈,相當(dāng)?shù)暮?jiǎn)潔明了吧。一共才4個(gè)文件一個(gè) 目錄,5MB都不到哦。

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

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

 

責(zé)任編輯:張浩 來(lái)源: CSDN
相關(guān)推薦

2010-06-01 09:33:48

SVN創(chuàng)建管理項(xiàng)目

2013-02-27 10:52:00

vSphere StovSphere

2010-10-22 11:31:53

SQL Server自

2009-12-09 10:10:08

PHP創(chuàng)建文件夾

2018-01-24 15:35:22

Linux隱藏文件管理器

2020-05-06 19:57:09

代碼開(kāi)發(fā)編碼

2010-02-03 15:54:58

Linux SVN安裝

2011-08-02 09:38:58

ActiveDirec域控制器共享文件夾

2010-07-01 17:52:41

UML包圖

2010-07-27 14:25:02

linux文件編碼

2024-12-06 15:11:34

Python文件夾目錄

2021-12-27 10:07:22

Windows 11復(fù)制文件文件夾

2010-05-28 09:47:43

SVN項(xiàng)目創(chuàng)建

2009-08-31 12:56:36

C#創(chuàng)建文件夾

2009-08-18 14:15:12

2017-08-22 18:34:24

WinLicense軟件授權(quán)

2009-08-17 08:45:34

Windows 7文件刪除

2025-01-07 08:55:54

2015-03-11 09:55:15

運(yùn)維管理

2020-05-11 10:59:02

PythonWord工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩高清一区 | 五月综合激情在线 | 欧美在线视频网 | 噜久寡妇噜噜久久寡妇 | 国产精品一区二区在线 | 日本欧美黄色片 | 久久久久久国产精品免费免费 | 91精品久久久久久久久久入口 | 久久免费精品 | 中文字幕亚洲一区二区三区 | 成人国产一区二区三区精品麻豆 | 久久精品中文字幕 | 久久在看| 罗宾被扒开腿做同人网站 | 在线视频 亚洲 | 国产99视频精品免费播放照片 | 一区二区三区四区五区在线视频 | 自拍偷拍第一页 | 婷婷免费在线 | 91精品午夜窝窝看片 | 91成人免费看片 | 操久久 | 成人午夜免费网站 | 欧美一级黄色免费看 | 成人18亚洲xxoo | 日韩午夜精品 | 手机日韩 | 精品国产一区二区三区久久久蜜月 | 午夜小视频在线播放 | 精品国产伦一区二区三区观看说明 | 国产毛片视频 | 特黄视频 | 国产美女特级嫩嫩嫩bbb片 | 亚洲v日韩v综合v精品v | 亚洲精品国产成人 | 欧美在线综合 | 成人三区 | 亚洲欧美bt| 欧美日韩国产在线 | 粉嫩粉嫩芽的虎白女18在线视频 | 视频一区二区中文字幕 |