python33 通过 cx_Freeze-4.3.1 打包 exe

来源:互联网 发布:mac pdg转pdf 编辑:程序博客网 时间:2024/06/16 04:49

本人python新手,都是在学习过程中遇到的,拿出来分享一下:

1、既然要打包,当然工具少不了,这次我们使用cx_Freeze-4.3.1(传送门,请将图片下开下来960kb,更名为“cx_Freeze-4.3.1.msi”)来对我们的python3.3的py脚本进行打包。注意,要用cx_Freeze对python打包请注意下载的cx_Freeze的版本,要对应的版本才能对对应的python脚本进行打包。没办法python不同的版本差别还是有一点大的,这里的cx_Freeze 对应的python版本是3.3.

工具下载下来后,直接安装就是了,他不像别的版本,他能自动识别python安装的位置,自己安装到python安装目录下面(当然只安装过两次,两次都是这样,真实情况也不清楚)

2、个人推荐使用配置文件setup.py(传送门,同理,请更名为“setup.py”)来编译的方法,这样清楚明了。将你要打包的脚本与setup.py放在同一个目录下,不要有中文名字,建议放在根目录下。

#encoding:utf-8from cx_Freeze import setup,Executablesetup(name = "GetBingbkimg",version = "1",description = "To Get picture form Bing.com",executables = [Executable("getbkimg.py")])

3、编译  



附:测试文件(传送门  国际惯例,更名为“getbkimg.py”)(下载bing.com网站上的背景图片,并保存在一个文件夹内)

#coding:utf-8import reimport urllib.requestimport timeimport osdef getHtml(url):page = urllib.request.urlopen(url)html = page.read()page.close()return htmldef getImg(html,reg):imgreg = re.compile(reg)imglist = re.findall(imgreg,html)for imgurl in imglist:timestr = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))dirpath = time.strftime('%m',time.localtime(time.time()))dirpath = os.path.join('bingimages',dirpath)if not os.path.exists(dirpath):os.makedirs(dirpath)newpath = os.path.join(os.getcwd(),dirpath)os.chdir(newpath)urllib.request.urlretrieve(imgurl, '%s.jpg' % timestr)print('图片路径:',os.path.join(os.getcwd(),'%s.jpg' % timestr))htmlstr = getHtml('http://www.bing.com')reg = r"g_img={url:\\'(.*?)\\',id"getImg(str(htmlstr),reg)



好啦,自己尝试一下吧!

原创粉丝点击