首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何避免在用py2exe构建的可执行文件中执行subprocess.popen()时cmd弹出并关闭?

在使用py2exe构建的可执行文件中执行subprocess.popen()时,避免cmd弹出并关闭的方法如下:

  1. 使用subprocess.STARTUPINFO参数:在调用subprocess.popen()时,可以传入subprocess.STARTUPINFO参数来控制子进程的启动方式。通过设置subprocess.STARTUPINFO的属性,可以指定子进程的窗口类型和标志位,从而控制cmd窗口的显示行为。例如,可以将subprocess.STARTUPINFO的dwFlags属性设置为subprocess.STARTF_USESHOWWINDOW,将wShowWindow属性设置为subprocess.SW_HIDE,以隐藏cmd窗口的显示。
  2. 使用subprocess.CREATE_NO_WINDOW参数:在调用subprocess.popen()时,可以传入subprocess.CREATE_NO_WINDOW参数来创建一个不显示窗口的子进程。这样可以避免cmd窗口的弹出和关闭。例如,可以将subprocess.popen()的参数中的creationflags设置为subprocess.CREATE_NO_WINDOW。

下面是一个示例代码:

代码语言:txt
复制
import subprocess

startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE

subprocess.Popen(["cmd", "/c", "your_command"], startupinfo=startupinfo, creationflags=subprocess.CREATE_NO_WINDOW)

在上述代码中,将"your_command"替换为你需要执行的命令。通过设置subprocess.STARTUPINFO和subprocess.CREATE_NO_WINDOW参数,可以避免在使用py2exe构建的可执行文件中执行subprocess.popen()时cmd窗口的弹出和关闭。

请注意,以上方法仅适用于Windows操作系统。如果需要在其他操作系统上实现类似的效果,可能需要使用其他方法或工具。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何做一个任何电脑都能用python程序?

下面是一些常用命令 -h,--help 查看该模块帮助信息 -F,-onefile 产生单个可执行文件 -D,--onedir 产生一个目录(包含多个文件)作为可执行程序 -a,--ascii...不包含 Unicode 字符集支持 -d,--debug 产生 debug 版本可执行文件 -w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效...该文件存储在--specpath=目录,默认为当前目录。 spec文件告诉PyInstaller如何处理你脚本。它对脚本名称和您为pyinstaller命令提供大多数选项进行编码。...spec文件实际上是可执行Python代码。 PyInstaller通过执行spec文件内容来构建应用程序。 对于PyInstaller许多用途,您不需要检查或修改spec文件。...通常足以将所有需要信息(例如隐藏导入)作为pyinstaller命令选项让它运行。

3.7K30

wxPython_06_将Python源代码打包成exe可执行文件

python源代码要在没有安装/配置Python相关开发环境电脑上运行,那么就需要使用工具对源代码进行打包,在windows上运行则必须打包成exe可执行文件,现在常用打包工具有: py2exe,...,另外,要是exe可执行文件点击之后没有反应,可以将其拖拽到cmd命令行执行,会打印出出现错误。...完成了上面的脚本文件之后,在命令行执行打包操作: python setup.py py2exe 就开始自动打包。 【注意】上面setup.py文件就是上面编写打包脚本。...(2)项目结构 使用py2exe打包之后文件夹除了一大堆dll,lib文件之外,可以找到那个exe可执行文件,但我们点击之后,回报各种资源文件找不到,加入我们在项目中使用了图片,那么需要把图片文件夹额外拷贝到项目目录下...使用magick.exe对D盘下logo_sys.png进行转换,在cmd执行: magick.exe D:\logo_sys.png D:\logo_sys.png 下面的程序可以批量处理文件夹下所有的图片文件

1.8K10
  • 你需要Python打包exe指南来了

    代码编写完成,如何在没有python环境电脑上运行?编写了一个GUI程序,如何把文件打包好,发给别人直接使用?...常用参数 -h 查看帮助 -w 忽略控制台,打包gui软件使用 -F dist目录只生成一个exe文件 -p 表示你自己定义需要加载类库路径 -D 创建dist目录,里面包含exe以及其他一些依赖性文件...(默认,可不添加) -i 指定打包程序使用图标文件 命令使用: 使用cmd进入到项目文件夹,执行如下命令: pyinstaller -i ico.png -F -w demo.py 打包案例 可以使用自己编写...2.单文件模式onefile 加上-F参数,全部依赖文件都会被打包到exe文件,在dist文件夹只有一个可执行文件, 把这个可执行文件发给别人就可以直接运行了。...把项目复制到虚拟环境执行命令: 3. 打包和执行exe文件过程,需要关闭杀毒软件。 4. win10 64位打包成exe文件后,不能在32位系统运行,安装32位python打包才可以。

    2.8K21

    pyinstaller打包成无控制台程序时运行出错(与popen冲突解决方法)

    有时候我们需要在程序里执行一些cmd命令,使用os或者其它模块popen方法去执行 这个问题一般是程序内有输入导致,这个输入可以是input(),也可以是其它一些stdin操作(如os.popen...当executable参数不为空,args里第一项被认为是“命令名”,不同于真正可执行文件文件名,这个“命令名”是一个用来显示名称,例如执行unix/linux下 ps 命令,显示出来就是这个...windows下,只有当你要执行命令是shell内建命令(比如dir,copy等) ,你才需要指定shell=True,而当你要执行一个基于命令行批处理脚本(bat啥时候,不需要指定此项。...注意,并不会把该目录做为可执行文件搜索目录,所以不要把程序文件所在目录设置为cwd。 如果env不是None,则子程序环境变量由env值来设置,而不是默认那样继承父进程环境变量。...命令输出结果了 稍微封装一下,就可以直接拿来用了 def execute_cmd(cmd): proc = subprocess.Popen( cmd, shell=True,

    3.7K30

    Python打包exe文件方法汇总【4种】

    py2exe 介绍 py2exe是一个将python脚本转换成windows上可独立执行执行程序(*.exe)工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。...PyInstaller本身并不是Python模块,所以安装随便放在哪儿都行。 优点: 可将python文件转成可执行文件 跨平台 输出可以是单一目录,也可以是一个单独打好包可执行文件。...py2exe貌似输出目录。 智能支持python第三方模块如PyQt,外部数据文件等 支持EGG格式文件 可执行文件可以用UPX压缩,二进制压缩方式 支持控制台和视窗两种方式。...加上–base-name=Win32GUI可以在运行exe去掉cmd黑框。...注意: nuitka Nuitka直接将python编译成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。

    2.7K10

    python和pygame游戏开发指南

    最近在用python+pygame 开发游戏,写完以后在分享给朋友玩时候遇到了很大问题,只有搭建了环境才能运行python脚本。...这会吓退99%以上的人……所以把我们游戏打包(注意是打包而不是编译,python毕竟是脚本程序)成一个可执行文件势在必行。...1.简介 Py2exe可以将一个Python程序打包成exe可执行文件,方便没有Python环境电脑上使用程序。使用Py2exe打包需要编写一个打包脚本,执行后可以得到打包文件。...对于32位版本,Py2exe可以将程序打包成单文件;对于64位版本,暂时还不支持打包成单文件。不过,无论如何压缩,目前Py2exe打包出来程序都还是偏大。...而且建议,如果将来是确定要打包为exe,那么就不要使用系统字体,即”pygame.font.SysFont(xxx)”,而是使用字体文件,然后打包将文件当作图片等一起打包,这样出问题概率会大大降低

    80420

    python开发_常用python模块及安装方法

    :用来生成windows可执行文件 Pylons:我们领导推荐web framework pysqlite2:SQLite连接组件 pythonwin:PythonWindows扩展 setuptools...Pmw(Python megawidgets)Python超级GUI组件集————一个在python利用Tkinter模块构建高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂功能...python独立执行文件 以下内容假定已安装好Python 2.4/2.5  一、下载编译pyinstaller(只需做一次,以后可直接做第二步)  1.下载pyinstaller,现在版本是1.3...  二、编译独立运行python可执行文件  1.生成spec文件  python pyinstaller-1.3/Makespec.py --onefile --upx linuxlaptop.py...  参数说明:  --onefile 生成单文件  --upx          生成压缩文件(可减小执行文件体积,需先安装upx软件包)  2.生成最终可执行文件  python pyinstaller

    2.8K30

    pyinstaller打包python项目

    输出类型选项打包为单个文件好处是不用担心程序被篡改,同时避免代码被破解缺点是每次启动等于要临时解压缩一次,性能会受影响# 将所有内容打包到单个可执行文件(推荐用于大多数情况)-F, --onefile...数据文件包含--add-data 将数据文件添加到打包后程序指定其在打包后位置。...解决措施: 关闭其他正在使用打包目录某个文件程序3....你需要确保目标机器上有与打包相同Python DLL。依赖库缺失: PyInstaller虽然会尝试将所有必要依赖打包到生成可执行文件,但有时可能会遗漏某些动态链接库。...检查确认所有必需Python组件和第三方库是否已正确包含在最终发行版

    35510

    python 调用cmd,不显示cmd

    python 调用系统命令方式有很多 1.1   os.system(command)        在一个子shell运行command命令,返回command命令执行完毕后退出状态。...这实际上是使用C标准库函数system()实现。这个函数在执行command命令需要重新打开一个终端,并且无法保存command命令执行结果。...对command执行实际上是按照{command;} 2>&1方式,所以output包含控制台输出信息或者错误信息。output不包含尾部换行符。...(command, shell=True)        如果command不是一个可执行文件,shell=True不可省。        ...使用os.system和subprocess.call时候都会有一闪而过cmd黑框,让人很不爽,使用os.popen后台执行,也可以,能够返回执行信息 使用subprocess.Popen这个方法很方便

    3.8K10

    用python实现批量打包程序工具~

    """ Execute the command in a subshell. """ pass 使用该方法很简单,只需要把要执行命令以字符串方式放到函数即可: import os...os.system(f'pyinstaller -F -w D:\程序.py') 执行命令不会出现cmd窗口,默认在IDE显示,生成文件默认在同一目录下: os.popen() popen...打包函数 函数接收是一个列表,需要通过循环读取;通过split分割而成路径,会生成一个列表,依然需要通过循环进行读取;程序打包效果比较单一,-F和-w分别为产生单个可执行文件和取消显示命令行窗口:...exe可执行文件都保存在dist文件: 结果.exe文件 小工具优缺点: 优点:小工具效果对于有其他需求的人来说,作用不大,但对于需要打包多个程序的人来说,还是有作用,毕竟要拒绝重复操作。...至此,我们就成功利用Python解决了如何批量打包程序需求,实现了解放双手。

    1.1K10

    python+pygame游戏开发之使用Py2exe打包游戏

    最近在用python+pygame 开发游戏,写完以后在分享给朋友玩时候遇到了很大问题,只有搭建了环境才能运行python脚本。...这会吓退99%以上的人……所以把我们游戏打包(注意是打包而不是编译,python毕竟是脚本程序)成一个可执行文件势在必行。...1.简介 Py2exe可以将一个Python程序打包成exe可执行文件,方便没有Python环境电脑上使用程序。使用Py2exe打包需要编写一个打包脚本,执行后可以得到打包文件。...对于32位版本,Py2exe可以将程序打包成单文件;对于64位版本,暂时还不支持打包成单文件。不过,无论如何压缩,目前Py2exe打包出来程序都还是偏大。...而且建议,如果将来是确定要打包为exe,那么就不要使用系统字体,即”pygame.font.SysFont(xxx)”,而是使用字体文件,然后打包将文件当作图片等一起打包,这样出问题概率会大大降低

    1.3K20

    关于Python病毒样本分析方法

    以py脚本形式存在,此种方式最为常见,但也最容易阅读和分析。 2. 将pyc文件结构打包到各种可执行文件,如PyInstaller工具等。 3....BBFreeze会通过zip模块把随身携带library.zip进行解压,再通过pythonexec来进行执行。其中library.zip可能会嵌在可执行文件当中。...4. cx_Freeze 简介 cx_Freeze也是一种用于将Python脚本打包成可执行文件一种工具,使用起来和py2exe差不多。...典型木马病毒分析 通过分析一个简单样本来演示如何分析这一系列样本。...在之后遇到任何由Python打包可执行文件,可以通过对PyRun系列函数进行检测。 ? 通过这一系列函数,我们可以获取到打包进可执行文件内明文Python脚本或pyc字节码。 5.

    1.8K10

    详解sh ndk-build.cmd command not found

    原因分析当我们执行ndk-build命令,实际上是在调用一个名为ndk-build.cmd批处理脚本。在这个脚本,会用到sh命令来执行一些Shell脚本命令。...在弹出窗口中,输入刚才移动sh.bat文件路径(例如C:\Program Files\Git\sh.bat)。点击“确定”按钮保存设置,关闭所有打开窗口。...这些配置文件可以指定库名称、构建类型、编译标志、链接选项等。自动化构建过程: ndk-build.cmd 会自动编译代码、链接库、生成可执行文件等。...它会在指定构建目录中生成所需库文件和可执行文件。默认情况下,ndk-build.cmd构建所有配置文件中指定模块,生成对应库文件。...支持自定义构建规则: ndk-build.cmd 允许开发者自定义构建规则。可以通过在构建文件定义变量来指定自定义规则,以在构建过程执行特定任务(例如执行脚本、复制文件等)。

    33510

    Python模块之subprocess

    一 简介 在使用Python 开发MySQL自动化相关运维工具时候,遇到一些有意思问题,本文介绍Python subprocess 模块以及如何和MySQL交互具体操作,如启动 ,关闭 ,备份数据库...二 基础知识 Python2.4引入subprocess模块来管理子进程,可以像Linux 系统执行shell命令那样fork一个子进程执行外部命令,并且可以连接子进程output/input...2) 如何处理函数返回信息(命令执行结果或者错误信息) 3) 当子进程执行失败也即returncode不为0,父进程如何处理后续流程?...与上面第二部分介绍三个函数不同,subprocess.Popen() fork子进程之后主进程不会等待子进程结束,而是直接执行后续命令。...那么坑爹问题来了:当你要使用Pythonsubprocess.Popen实现命令行之间管道传输,同时数据源又非常大(比如读取上GB文本或者无尽网络流),官方文档不建议用wait,同时communicate

    1.9K10
    领券