
想让脚本返回值,只需从包装代码的函数中执行return[1,2,3]。
必须从另一个脚本中导入脚本才能使用该信息。
返回值来自包装函数,同样,这必须由单独的Python脚本运行并导入才能起到任何作用。
使用ossystem函数运行其他程序
os模块中的system()函数可以方便地运行其他程序或者脚本。其函数原型如下所示。
ossystem(command)
其参数含义如下所示。
command 要执行的命令,相当于在Windows的cmd窗口中输入的命令。如果要向程序或者脚本传递参数,可以使用空格分隔程序及多个参数。
以下实例实现通过ossystem()函数打开系统的记事本程序。
>>> import os
# 使用ossystem()函数打开记事本程序
>>> ossystem('notepad')
0 # 关闭记事本后的返回值
# 向记事本传递参数,打开pythontxt文件
>>> ossystem('notepad pythontxt')
将python打包成exe的程序有很多,比如py2exe、PyInstaller等等,但是到目前为止,它们对python31支持的都不好,所以这里要介绍一下cx_freeze 422,它还能支持跨平台,可以在windows和linux运行。
最近用Python Tkinter 写了一个看stock 的小工具 把它调节成半透明悬浮 你懂得
但是每次总用pycharm 或者调python去加载使用多少有些不便,如何打包成exe成了问题。
百度一下找了 pyinstaller 感觉使用起来还不错。
步骤如下:
1官网下载对应的pyinstall 工具, 我下载的是 PyInstaller-321zip 并解压
2通过cmd 跳转到pyinstaller目录 并执行 setuppy install 进行安装 这时会向你的python路径安装必要的第三方包,当然细节可以不用关心
3 安装成功后 就可以使用了。
TK-GUIpy是我的源程序
c:\PyInstaller-321>pyinstallerpy -F -w C:\Users\hanchunwang\PycharmProjects\
untitled\TK-GUIpy
62186 INFO: checking EXE
62186 INFO: Building EXE because out00-EXEtoc is non existent
62186 INFO: Building EXE from out00-EXEtoc
62187 INFO: Appending archive to EXE c:\PyInstaller-321\dist\TK-GUIexe
62194 INFO: Building EXE from out00-EXEtoc completed successfully
-F 是生成exe 程序, 因为我使用Tkinter编译的GUI程序 还需要指定-w 参数 后面是路径,
打包有个过程 稍等片刻后,就会在pyinstaller目录生成一个exe程序。 OK 耍起来吧 小伙伴们
使用py2exe
安装py2exe
进入python程序所在文件夹
在文件夹下写一个setuppy的python文件,内容如下
from distutilscore import setup
import py2exe
setup(console=["将要转换的文件名称py"])
打开CMD窗口,将工作目录切换到python文件所在文件夹,并输入命令“python setuppy py2exe"
命令成功完成后,进入原python文件的文件夹下可看到新产生了文件夹
进入dist文件夹,里面的exe就是我们需要的windows程序。
>
PyInstaller的原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指
望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的
库。在Linux *** 作系统下,它主要用的binutil工具包里面的ldd和objdump命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析
器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他
包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运
行,就必须针对该平台进行打包。
pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行
最新版是pyinstaller 311。支持python27和python33+。
可运行在Windows,Mac和Linux *** 作系统下。
但它不是跨编译的,也就是说在Windows下用PyInstaller生成的exe只能运行在Windows下,在Linux下生成的只能运行在Linux下。
pyinstaller在windows下的安装
使用命令pip install pyinstaller即可
在windows下,pyinstaller需要PyWin32的支持。当用pip安装pyinstaller时未找到PyWin32,会自动安装pypiwin32。
打包
打包的app里并不包含任何源码,但将脚本的pyc文件打包了。
基本语法:
pyinstaller options myscriptpy
常用的可选参数如下:
--onefile 将结果打包成一个可执行文件
--onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
--paths=DIR 设置导入路径
--distpath=DIR 设置将打包的结果文件放置的路径
--specpath=DIR 设置将spec文件放置的路径
--windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
--nowindowed 使用控制台子系统执行(默认)(只对windows有效)
--icon=<FILEICO> 将fileico添加为可执行文件的资源(只对windows有效
推荐学习《python教程》。
以上就是关于python生成的exe程序有返回值全部的内容,包括:python生成的exe程序有返回值、python 怎么执行exe程序、eclipse下写的python 怎么打包成exe等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)