利用python的exec语句,可以很方便地动态执行python语句。如果一个python代码打包为了exe,其原先的代码就很难更改了。一个好的解决方法就是import相应的库,然后把主程序段放到一个单独的文件中被exec执行。

现在打包一个简单的python解释器,因为是示例,只调用一个numpy库。

  • main.py 解释器
import numpy as np

if __name__ == '__main__':
with open('code.py','r+') as f:
code=f.read()
exec(code)
  • code.py 被解释内容
a=np.array([1,2,3])
print(a)
i=0
for i in range(100):
i+=i
print(i)
print(eval('1+2'))
with open('run.cmd') as f:
print(f.read())

pyinstaller打包:

pyinstaller -F -c main.py

执行,我们看到:



只要是使用已经调入main.py的模块(或者是模块别名),都可以运行。这样就达到了打包解释器的效果。

打包一个python解释器的更多相关文章

  1. 用 Python 编写的 Python 解释器

    Allison是Dropbox的工程师,在那里她维护着世界上最大的由Python客户组成的网络.在Dropbox之前,她是Recurse Center的引导师, … 她在北美的PyCon做过关于Pyt ...

  2. python学习笔记-python解释器

    刚开始学习python,首先要了解一下python解释器. 什么是python解释器? 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件.要运行此文件,就需要python解释器去执 ...

  3. Python解释器

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...

  4. Python和Python解释器

    目录 Python介绍(了解) Python解释器发展史(了解) Python解释器(了解) CPython IPython PyPy Jython IronPython 安装Python解释器(掌握 ...

  5. Python解释器有哪些?Python解释器种类

    Python是一门解释器语言,代码想运行,必须通过解释器执行,Python存在多种解释器,分别基于不同语言开发,每个解释器有不同的特点,但都能正常运行Python代码,以下是常用的五种Python解释 ...

  6. Python解释器【转载】

    原文链接 0x01 简介 当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 0x02 Python ...

  7. 三 Python解释器

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...

  8. Python 开篇及第一个Python程序

    本节内容 python 简单介绍 python 2.x 或者python 3.x python 安装 第一个python程序 一.python简单介绍 python的创始人为吉多.范罗苏姆(Guido ...

  9. python解释器的分类及特点

    CPython 当从Python官方网站下载并安装好Python2.7后,就直接获得了一个官方版本的解释器:Cpython,这个解释器是用C语言开发的,所以叫CPython,在命名行下运行python ...

随机推荐

  1. css position:sticky的尝试

    前言 sticky这种设计效果是经常出现的,比如陶宝右侧的工具栏,当我们向下滚动到它的位置时,它就会黏住顶部跟随滚动,类似position: fixed的效果,只不过它的触发条件是当我们滚动到所在位置 ...

  2. ABAP分享五 ALV修改单元格并将修改数据更新到数据表中示例1

    *下面的代码是在alv字段中修改字段的内容,点击保存后就可以保存数据至数据表. TABLES: spfli. DATA: wa_fieldcat TYPE lvc_s_fcat ,  " 相 ...

  3. QGIS练手 - 数据

    又熬夜了... 这篇博客可能会将QGIS数据管理部分和ArcGIS数据管理进行对比学习. 1. 本地数据文件与数据库(矢量) 1.1 文件 QGIS用的是shp文件.kml文件.geojson文件较多 ...

  4. Android View的background和padding

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/181 最近在做一个需求,是对im聊天消息设置气泡背景,之前 ...

  5. PHP 利用PHPExcel到处数据到Excel;还有导出数据乱码的解决方案。

    直接贴代码吧 PHP版本5.6.38 mysql版本5.0 //连接数据库 $mysql_server_name = "*.*.*.*"; $mysql_username=&quo ...

  6. Mac环境安装非APP STORE中下载的软件,运行报错:“XXX” is damaged and can’t be opened. You should move it to the Trash. 解决办法

    出现这个错误的大多数原因都是因为系统设置的问题,因为系统不信任你从其他地方下载的软件安装包,所以运行时就给你阻止了.具体的设置步骤如下: 1. 打开系统偏好设置 (System Preferences ...

  7. enable user-defined extended attributes for ext3 file systems; 增加ext3 文件系统的扩展属性;

    To enable user-defined extended attributes for ext3 file systems (i.e. device), use: tune2fs -o user ...

  8. MongoDB学习笔记(七、MongoDB总结)

    1.为什么要NoSQL:nosql能解决sql中那些解决不了的问题 NoSQL是什么:Not Only SQL,本质上还是数据库,但它不会遵循传统数据库的规则(如:SQL标准.ACID属性[事务].表 ...

  9. 大数据基础--R语言(刘鹏《大数据》课后习题答案)

    1.R语言是解释性语言还是编译性语言?   解释性语言 2.简述R语言的基本功能.   R语言是一套完整的数据处理.计算和制图软件系统,主要包括以下功能: (1)数据存储和处理功能,丰富的数据读取与存 ...

  10. 通过 Filebeat 收集 ubuntu 系统日志

    需求:收集 ubuntu 系统日志,发送给 logstash,再由 logstash 把数据传递给 elasticsearch,最后通过 kibana 展示日志数据. Filebeat System ...