由于天气因素,无法外出,在家闲来无事,使用Python编写一个简单的百度搜索应用。

功能:打开默认浏览器,使用百度进行搜索

Python:2.7.13

第三方库:pyinstaller(打包软件)

工具:upx-3.95-win32(压缩exe大小)

通过pip安装pyinstaller3.3.1版本:

pyinstaller 安装命令:pip install pyinstaller==3.3.1

实际中pyinstaller 3.4遇到了一个异常问题,改用了3.3.1版本:

Traceback (most recent call last):File "C:\Python27\Scripts\pyinstaller-script.py", line 11, in <module>load_entry_point('PyInstaller==3.4', 'console_scripts', 'pyinstaller')()File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 480, in l
oad_entry_pointreturn get_distribution(dist).load_entry_point(group, name)File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 2693, in
load_entry_pointreturn ep.load()File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 2324, in
loadreturn self.resolve()File "c:\python27\lib\site-packages\pkg_resources\__init__.py", line 2330, in
resolvemodule = __import__(self.module_name, fromlist=['__name__'], level=0)File "c:\python27\lib\site-packages\PyInstaller\__init__.py", line 72, in <mod
ule>DEFAULT_SPECPATH = compat.getcwd()File "c:\python27\lib\site-packages\PyInstaller\compat.py", line 613, in getcw
dcwd = win32api.GetShortPathName(cwd)
AttributeError: 'module' object has no attribute 'GetShortPathName'

pyinstaller具体使用方法可以参考 胖玻璃球就一个 的博客:

https://blog.csdn.net/xinyingzai/article/details/80282856

upx下载链接:

https://github.com/upx/upx/releases/tag/v3.95

应用代码如下:

#coding=utf-8
import webbrowser,sys
if sys.getdefaultencoding() != 'gbk':reload(sys)sys.setdefaultencoding('gbk')
print "输入:'#q'or'#Q',退出工具".decode('utf-8')
while True:try:rst = raw_input(">>>#:")if rst in ["#q","#Q"]:breakprint "open baidu search:{}".format(rst)webbrowser.open(url=u"https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd={}".format(rst.decode('gbk')))except:pass

打包命令:pyinstaller -F -i serch.ico --upx upx-3.95-win32 BaiduSearch.py

参数说明:

-i serch.ico 软件图标为:serch.ico

--upx upx-3.95-win32 使用upx压缩软件大小

BaiduSearch.py 要打包的python文件

打包过程中出现了两个问题:

1.

Traceback (most recent call last):File "C:\Python27\Scripts\pyinstaller-script.py", line 11, in <module>load_entry_point('PyInstaller==3.3.1', 'console_scripts', 'pyinstaller')()File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 94, in runrun_build(pyi_config, spec_file, **vars(args))File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 46, in run_
buildPyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
791, in mainbuild(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'
))File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
737, in buildexec(text, spec_namespace)File "<string>", line 29, in <module>File "c:\python27\lib\site-packages\PyInstaller\building\api.py", line 397, in__init__self.console, self.uac_admin, self.uac_uiaccess)File "c:\python27\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", l
ine 1038, in create_manifestmanifest = ManifestFromXMLFile(filename)File "c:\python27\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", l
ine 999, in ManifestFromXMLFilemanifest.parse(filename_or_file)File "c:\python27\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", l
ine 753, in parseself.load_dom(domtree, False)File "c:\python27\lib\site-packages\PyInstaller\utils\win32\winmanifest.py", l
ine 721, in load_dom(self.filename, manifest.name))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9: ordinal
not in range(128)

解决方法参考:https://blog.csdn.net/lusongno1/article/details/62891860?utm_source=blogxgwz1

2.

Traceback (most recent call last):File "C:\Python27\Scripts\pyinstaller-script.py", line 11, in <module>load_entry_point('PyInstaller==3.3.1', 'console_scripts', 'pyinstaller')()File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 94, in runrun_build(pyi_config, spec_file, **vars(args))File "c:\python27\lib\site-packages\PyInstaller\__main__.py", line 46, in run_
buildPyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
791, in mainbuild(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'
))File "c:\python27\lib\site-packages\PyInstaller\building\build_main.py", line
737, in buildexec(text, spec_namespace)File "<string>", line 29, in <module>File "c:\python27\lib\site-packages\PyInstaller\building\api.py", line 411, in__init__strip_binaries=self.strip, upx_binaries=self.upx,File "c:\python27\lib\site-packages\PyInstaller\building\api.py", line 196, in__init__self.__postinit__()File "c:\python27\lib\site-packages\PyInstaller\building\datastruct.py", line
161, in __postinit__self.assemble()File "c:\python27\lib\site-packages\PyInstaller\building\api.py", line 259, inassembledist_nm=inm)File "c:\python27\lib\site-packages\PyInstaller\building\utils.py", line 198,
in checkCachecachedfile = os.path.join(cachedir, basenm)File "c:\python27\lib\ntpath.py", line 85, in joinresult_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 7: ordinal
not in range(128)

解决方法参考:https://blog.csdn.net/lxl743p/article/details/78708088?utm_source=blogkpcl7

工具使用截图:

已经完成的工具与图标附件:https://download.csdn.net/download/zichehantz/10828662

Python编写一个简单的百度搜索应用相关推荐

  1. python编写登录_通过Python编写一个简单登录功能过程解析

    通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...

  2. 用python 编写一个简单的游戏

    This blog will memory my work and process with the interesting skill. 用python 编写一个简单的游戏 这是一个非常简单的游戏, ...

  3. python cs开发框架_用Python编写一个简单的CS架构后门的方法

    用Python编写一个简单的CS架构后门的方法 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  用Python编写一个简单的CS架构后门的方法.txt ] (友情 ...

  4. python编写一个简单的程序验证码_Python实现一个简单的验证码程序

    老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会.还 ...

  5. python如何编写数据库_如何在几分钟内用Python编写一个简单的玩具数据库

    python如何编写数据库 MySQL, PostgreSQL, Oracle, Redis, and many more, you just name it - databases are a re ...

  6. python编写一个简单的猜数字小游戏

    该脚本包含了python基础的部分内容,python初学者既可以学习借鉴,也可以向朋友去装13. 本次编写的内容需要导入一个第三方模块random,可获得规定范围的随机数. 首先打开pycharm中下 ...

  7. python hello world程序编写_用Python编写一个简单程序

    按照软件行业传统习惯,当你学习一种新的编程语言如Python时,首先编写一个"Hello World! "程序. 请执行以下步骤,以创造你的"Hello World!&q ...

  8. python画画bup_用Python编写一个简单的FUSE文件系统的教程

    如果你是我的长期读者,那么你应该知道我在寻找一个完美备份程序,最后我写了一个基于bup的我自己的加密层. 在写encbup的时候,我对仅仅恢复一个文件就必须要下载整个巨大的档案文件的做法不甚满意,但仍 ...

  9. 用python编写一个简单的计算器

    计算器功能与组成部分 基本功能 创建简单的操作界面 键盘快捷键 屏幕和显示部分 数字按钮和功能键 负号和小数点的输入 在数据中插入逗号 核心计算部分 次方运算 返回和清除 自定义设置 基本功能 一个简 ...

最新文章

  1. 学习python自动化运维笔记文件比较
  2. [Z]谷歌(Google)算法面试题
  3. C++——《算法分析与设计》实验报告——箱子装载问题
  4. Model share between master view and detail view breaks - didn't find root cause
  5. Djang重新整理migrations,解决:Django Table xxx already exist
  6. Appium Java
  7. c语言3到7位水仙花数流程图_C语言入门基础整理
  8. python可以干嘛-python都可以用来做什么
  9. Python类的私有属性
  10. Xshell使用教程
  11. arcgis坐标转换
  12. BIOS调整服务器性能模式,BIOS优化性能提升明显 菜鸟必看的BIOS优化设置教程
  13. 怎么关闭服务器管理器自动启动,用 systemctl 管理服务:查看状态、启动/停止服务、开启/取消开机自启动...
  14. Excel VBA单元格数据自增1
  15. 一个web页面的访问的过程
  16. 33.大数据可视化技术--datav、echarts
  17. 中国象棋对局软件设计(一)
  18. 简单高效记账本的具体操作方法
  19. python 读excel中一个表_python 实现读取一个excel多个sheet表并合并的方法
  20. 领奖啦!第二期博客征文《从HelloWorld启航——说说那些年我们一起写过的代码》获奖名单揭晓

热门文章

  1. 最小方差无偏估计和有效估计
  2. html简单的任务管理系统实现,使用禅道来进行项目任务管理
  3. RxJava - Disposable
  4. Mac安装ettercap
  5. 用 WeixinJSBridge.invoke函数实现微信分享标题和文案
  6. Kafka集群间同步数据方案-Flume
  7. 上一篇文章、下一篇文章实现
  8. 软件制作商为惩罚非法拷贝者计算机病毒,求大神作答 多选 怎么看什么都对呢 求大神求大神...
  9. rtx3080性能相当于什么水平 rtx3080参数
  10. HDUOJ 2066 一个人的旅行——