python生成的exe程序有返回值

python生成的exe程序有返回值,第1张

想让脚本返回值,只需从包装代码的函数中执行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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9305958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存