python编译成手机可用程序打开本文件_python创建可以打开文件的EXE
改进方向
生成最简单的exe程序
将python脚本转化为exe程序比较常用的是两个库,py2exe和pyinstaller,由于前者不支持3.5及以上版本,操作也相对复杂,因此这里选择pyinstaller。
安装:在cmd中直接pip install PyInstaller 就安装好了。
之后我们只要使用pyinstaller这条命令即可,正常来说我们安装好这个库之后,pyinstaller.exe就在环境变量中了,所以我们可以在任何文件夹下的cmd窗口中调用这条命令。
pyinstaller库生成exe文件非常简单,只要一条命令就能自动生成,我们来看一下下面这个简单例子
在cmd_try文件夹下创建hello.py文件,文件中的内容如下
然后我们在cmd_try文件夹下打开命令窗口,输入 pyinstaller hello.py 就会自动生成几个文件夹,dist文件夹中的hello文件夹中,就有了hello.exe文件,双击这个文件就会弹出一个让你输入名字的窗口,这就代表这个可执行程序创建完成。
注:同时会生成一个build文件,其中也有一个hello.exe,不用管它,把build文件夹删掉,dist中的hello.exe文件依然可以运行
如果要继续修改程序,修改后的hello.py保存后,要再用pyinstaller hello.py这条命令重新生成,覆盖原有的文件,hello.exe才能执行新的功能。
下面我们在命令行中调用这个可执行程序
在之前的命令行窗口中输入 cd dist 进入dist文件夹中,再输入 cd hello 进入hello文件夹中,再输入两种命令都可以:
直接输入hello即调用了hello.exe文件,会在当前这个命令窗口中让你输入你的名字
输入 start hello 则会另外出现一个命令窗口让你输入你的名字
其中第一种其实和在cmd_try文件夹下的命令行窗口中输入python hello.py效果相同,所以我们可以用这个来测试,测试结束后再生成exe文件
直接输入hello即调用了hello.exe文件,会在当前这个命令窗口中让你输入你的名字
输入 start hello 则会另外出现一个命令窗口让你输入你的名字
其中第一种其实和在cmd_try文件夹下的命令行窗口中输入python hello.py效果相同,所以我们可以用这个来测试,测试结束后再生成exe文件
带有参数的exe程序
因为我们的exe程序需要能够打开一个文件,所以需要调用外部参数。下面我们实现在命令行调用hello.py文件时传入参数。这里使用python内置的命令行解析库argparse,这个库的官网特别详细,一步一步教你如何操作,有兴趣的读者可以直接去官网学习,这里仅仅做最简单的使用。
hello.py文件中内容改为
我们先直接用python来调用,在cmd_try目录下的cmd窗口输入 python hello.py "bob" ,我们想要的结果就会在下面被打印出来
注:因为刚刚我们用cd命令把命令行窗口的位置切换到了hello文件夹下,如果想返回 cmd_try 文件夹下,则输入两次 cd .. 即可
接下来我们将程序打打包成exe文件,输入pyinstaller hello.py
cd到hello文件夹下输入hello "bob"也可以打印出正常的结果
参数是文件名
为了和我们的目标更接近一点,我们现在实现提取一个txt文件中的内容,前后加一个html的标签,再存成一个html文件
hello.py文件换为如下内容
同时在cmd_try文件夹中创建hi.txt文件,内容如下
在cmd_try文件夹下的cmd窗口中输入 python hello.py "hi.txt" 发现执行成功,在cmd_try文件夹下生成了一个a.html文件,我们可以双击这个文件则自动用浏览器打开,内容也是我们刚刚指定的内容。
于是我们再执行pyinstaller hello.py转化为exe程序。同时删除刚刚生成的a.html文件。
在hello文件夹下的cmd窗口中输入 hello C:\python\cmd_try\hi.txt(具体更改为读者电脑中hi.txt文件所在路径) 则会在hello文件夹下生成a.html
删除a.html文件,我们再换一种方式运行
右键hi.txt,选择打开方式-选择其他应用-更多应用-在这台电脑上查找其他应用,然后找到hello.exe的位置,勾选上“始终用此程序打开”,点击打开。这次没反应,但是下次你双击这个文件,就会在cmd_try文件夹下产生一个a.html文件,即运行成功。必须要设置默认用这个程序打开该类型文件,因为用这个过程选打开是没有效果的,只有双击打开才可以。双击打开就相当于用hello.exe调用这个文件作为参数,也就是之前我们在命令行中输入的执行代码。
到现在就万事具备了,接下来我们只要把试验的代码换成处理.ipynb文件的就可以了
真正实现
用文本编辑器打开.ipynb文件发现,它是一个json格式的文本数据,因此我们可以直接读取,转化为字典列表,再进行提取、添加标签即可生成网页源代码,再写出来成一个html文件即可。
因为主要是查看代码,所以这里只提取标题和代码,文本不予提取。标题会汇总在一起放在前面构成目录链接。
在my_project文件夹下建立一个ipynb_view.py文件,里面内容如下
文件写好保存之后,在ipynb_view文件夹下打开命令行窗口,输入 python ipynb_view.py C:\Jupyter\base.ipynb (路径改为读者自己的.ipynb文件路径),运行之后即可在ipynb文件夹下生成一个base.html文件,可以用浏览器打开查看笔记内容。
下面我们再将py文件转化为可执行程序。在ipynb_view文件夹下打开命令行窗口,输入pyinstaller ipynb_view.py即创建完成。
之后只要找到一个.ipynb文件,设置打开方式默认是ipynb_view.exe,以后每次双击.ipynb文件都会在.ipynb所在文件夹下生成一个同名的.html文件,速度还是很快的,这样查看笔记就方便多了。
改进方向
上面只是提供一个思路和简单的实现,还不是十分完善,感兴趣的读者可以再自己把代码完善起来,可以有以下改进方向作为参考
第一是这样每次生成的一个html文件,都要手动删除。如果可以用程序控制把HTML内容直接用浏览器打开就更好了,或者编写用完自动删除的代码
第二是上面创建html代码的python代码可读性不强,只是因为需求比较简单,暂时应付一下,有更高需求的读者可以试一试编写一个添加标签、属性、css样式的类,让代码结构更加清晰。或者用现成的pyH库貌似可以实现
第三是文本内容没有加进来,因为里面有各种markdown格式标记,不是很好处理,这里就直接舍弃了,有需要的读者可以写程序把文本也读取进来
第一是这样每次生成的一个html文件,都要手动删除。如果可以用程序控制把HTML内容直接用浏览器打开就更好了,或者编写用完自动删除的代码
第二是上面创建html代码的python代码可读性不强,只是因为需求比较简单,暂时应付一下,有更高需求的读者可以试一试编写一个添加标签、属性、css样式的类,让代码结构更加清晰。或者用现成的pyH库貌似可以实现
第三是文本内容没有加进来,因为里面有各种markdown格式标记,不是很好处理,这里就直接舍弃了,有需要的读者可以写程序把文本也读取进来
本文作者:数据取经团 - 王智博
python编译成手机可用程序打开本文件_python创建可以打开文件的EXE相关推荐
- python编译成手机可用程序_Python 程序打包成 exe 可执行文件
可执行文件:对于非码农用户或者一些小白用户,你让他装个 Python 同时还要折腾一堆依赖库,那简直是个灾难.对于此类用户,最简单的方式就是提供一个可执行文件,只需要把用法告诉他即可.比较麻烦的是需要 ...
- 『Python』Python编译成计算机可执行文件(Windows计算机可执行文件exe,Linux 计算机可执行文件elf,Mac计算机可执行文件mach-O)
文章目录 背景: 我们的主角 :PyInstaller 使用 1.安装pyinstaller 2.进入安装工作环境 3. 生成不自定义图标的exe文件 4.生成带自定义图标的exe文件 PyInsta ...
- python编译成exe和exe反编译成python
先看文章概要.再看左侧目录,可准确找到需要内容 文章概要:python文件可编译成exe文件,exe文件也可通过反编译恢复为python文件.下面简单介绍如何生成exe和恢复python python ...
- python编译成exe有意义吗_python工程编译成EXE
前言 python编译成EXE文件后,可以独立使用.亲测,一个复杂的python工程包含多个包多个模块,可以生成exe文件. 目的 windows下将整个python工程编译成单个EXE或者单个目录带 ...
- uniapp兼容保利威视频,可编译成微信小程序、移动端、h5
基于uniapp开发,引入保利威视频云, 代码可编译成微信小程序,移动端,h5,其他小程序理论上都支持但是没有验证,demo下载地址 https://download.csdn.net/downloa ...
- python找不到csv文件_Python如何读取csv文件
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本). 纯文本意味着该文件是一个字符序列, ...
- python中如何打开csv文件_Python如何读取csv文件
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本). 纯文本意味着该文件是一个字符序列, ...
- python编译成汇编语言_Python前言之编程语言
编程语言分类(语言) 编程语言是用来和计算机进行交互的,计算机只认识0和1. 机器语言(低级语言) 直接和硬件进行交互 用0和1和计算机进行沟通 缺点:开发效率低 优点:执行效率高 汇编语言 直接和 ...
- python编译成exe速度会变快吗_python如何编译成exe
Python 程序都是脚本的方式,一般是在解析器里运行,如果要发布出去,需要提前安装解析器才可以运行,为了在 Windows 里方便发布,只要点击一个 EXE 文件运行,并且打包所需要库文件,这样发布 ...
最新文章
- ASP.NET MVC4中调用WEB API的四个方法
- Android在ListView滑动数据混乱
- 如何为.NETCore安装汉化包智能感知
- 误删了计算机桌面回收站,我电脑回收站里的东西已经被删除几天了?怎么可以找回!谢谢...
- 关于函数指针调用C++非静态成员
- uniapp 输入框防抖节流_拉动一下控制台大小,后台请求数量爆炸,竟是没做好防抖与节流...
- HDU 2955 Robberies(概率DP,01背包)题解
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)(转)
- chromedriver下载链接以及对应版本
- 干净卸载sqlserver2019 亲测有效!
- 【转】一文带你了解800万像素车载摄像头
- EOS REX 安全系列之从源码开始玩转 REX(一)
- 滴滴出行A/B测试城市运营分析
- 脚上有一个很灵的止咳穴位
- linux密码中逗号怎么输入,linux一窜数字后面的逗号怎么去掉?
- ERD Online 4.0.5 在线数据库建模、元数据管理(免费、私有部署)
- Windows XP Service Pack 3 (Windows XP SP3)简体中文版本正式发布(附下载地址)
- 第1周笔记5-Dijkstra最短路径问题
- 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
- CAS单点登录(十一)——单点退出