如何从Python运行exe文件?

2024-02-08

我尝试使用 os.system 库从本地 python 项目中的特定路径运行 exe(在后台)。 我已设法更改“cd”命令等文件夹,但无法运行该文件。

这是针对在 Windows 64BIT、Python 3.5.3 上运行的 python 项目

file.exe 位于“程序”目录。

import os
os.system("cd C:\Users\User\AppData\Windows\Start Menu\Programs")
subprocess.Popen("file.exe")

Error:

{OSError}[WinError 193] %1 不是有效的 Win32 应用程序

我看到其他关于这个问题的帖子,但我无法解决它。 有任何想法吗?


问题是system命令不起作用。它“有效”,但在一个立即退出的单独子进程中。当前目录不会传播到调用进程(此外,由于您没有检查返回代码,因此即使目录不存在,该命令也不会失败。请注意,它发生在这里,因为目录名称具有其中有空格且未引用...)。

你必须使用os.chdir为此,但你甚至不需要它。

如果您想在特定位置运行命令,只需传递命令的绝对路径(并且由于它使用字符串文字,因此始终使用r前缀以避免一些\t or \n字符被解释为特殊字符...)。例如,使用 python 3,使用提供的命令行会出现错误(但在 python 2 中没问题......):

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 5-6: truncated \UXXXXXXXX escape

所以总是使用原始前缀。我将这样重写:

current_dir = r"C:\Users\User\AppData\Windows\Start Menu\Programs"
subprocess.Popen(os.path.join(current_dir,"file.exe"))

如果您确实需要当前目录与 exe 相同,请使用cwd范围。还得到返回值Popen能够等待/轮询/杀死/无论什么并获取命令退出代码:

p = subprocess.Popen(os.path.join(current_dir,"file.exe"),cwd=current_dir)
# ...
return_code = p.wait()

附带说明一下,请注意:

p = subprocess.Popen("file.exe",cwd=current_dir)

不起作用,即使file.exe is in current_dir(除非你设置shell=True,但出于安全/可移植性原因,最好也避免这种情况)

注意os.system由于很多(好的)原因而被弃用。使用subprocess模块,always,如果有争论,总是有争论list(不是字符串),并避免shell=True越多越好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从Python运行exe文件? 的相关文章

  • 刷新访问令牌时出现“invalid_grant”错误的情况?

    最近我一直在为这个问题揪心 一些背景 使用oauth2客户端 https code google com p google api python client 库来管理用户的令牌 这些令牌用于定期并发执行各种后台任务 每次要为用户运行其中一
  • OpenCV Python 删除图像中的某些对象

    我正在使用带有 opencv 和 numpy 的 python 来检测天文中的星星 例如这个1 https i stack imgur com AKwEJ jpg图片 使用模板匹配 我可以用阈值检测星星 单击 2 2 https i sta
  • Python中#和"""注释的区别

    开始用 Python 编程 我看到一些带有注释的脚本 and comments 这两种评论方式有什么区别 最好的事情就是阅读PEP 8 Python 代码风格指南 https www python org dev peps pep 0008
  • 同情因子简单关系

    我在 sympy 中有一个简单的因式分解问题 无法解决 我在 sympy 处理相当复杂的积分方面取得了巨大成功 但我对一些简单的事情感到困惑 如何得到 phi 2 2 phi phi 0 phi 0 2 8 因式分解 phi phi 0 2
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • Python - 为什么这段代码被视为生成器?

    我有一个名为 mb 的列表 其格式为 Company Name Rep Mth 1 Calls Mth 1 Inv Totals Mth 1 Inv Vol Mth 2 等等 在下面的代码中 我只是添加了一个包含 38 个 0 的新列表 这
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • Python/Flask:应用程序在关闭后正在运行

    我正在开发一个简单的 Flask Web 应用程序 我使用 Eclipse Pydev 当我开发该应用程序时 由于代码更改 我必须经常重新启动该应用程序 这就是问题所在 当我运行该应用程序时 我可以在本地主机上看到该框架 这很好 但是当我想
  • 出现意外的关键字参数“timeout”(Python 中的 google-cloud-storage)

    使用 google cloud storage 的 Python 项目在本地运行良好 但是当它从 App Engine 运行时 会显示错误 Traceback most recent call last File opt python3 7
  • 如何创建指向指针数组的 Python ctypes 指针

    我需要学习如何处理char 在下面的 C 方法中通过 Python ctypes 我通过使用调用其他只需要单个指针的方法做得很好create string buffer 但此方法需要一个指向指针数组的指针 ladybugConvertToM
  • 如何在 Numpy 中实现垃圾收集

    我有一个名为main py 它引用另一个文件Optimisers py它仅具有功能并用于for循环进入main py 这些函数都有不同的优化功能 This Optimisers py然后引用另外两个类似的文件 其中也只有函数 它们位于whi
  • 散景中的时间序列流

    我想在散景中绘制实时时间序列 我只想在每次更新时绘制新的数据点 我怎样才能做到这一点 散景网站上有一个动画情节的示例 但它每次都需要重新绘制整个图片 另外 我正在寻找一个简单的示例 我可以在其中逐点绘制时间序列的实时绘图 散景效果0 11
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • Scrapy - 不会爬行

    我正在尝试运行递归爬行 由于我编写的爬行不能正常工作 因此我从网络上提取了一个示例并进行了尝试 我真的不知道问题出在哪里 但是爬行没有显示任何错误 谁能帮我这个 另外 是否有任何逐步调试工具可以帮助理解蜘蛛的爬行流程 非常感谢任何与此相关的
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 通过套接字发送字符串(python)

    我有两个脚本 Server py 和 Client py 我心中有两个目标 能够从客户端一次又一次地向服务器发送数据 能够将数据从服务器发送到客户端 这是我的 Server py import socket serversocket soc
  • 如何在 Pandas 数据框中用 NaN 替换一系列值?

    我有一个巨大的数据框 我应该如何用 NaN 替换一系列值 200 100 数据框 您可以使用pd DataFrame mask https pandas pydata org pandas docs stable generated pan
  • 在 pyhf 中针对小信号模型拟合收敛失败

    这是我们 pyhf 开发团队 最近提出的一个问题 认为很好并且值得分享 因此我们在这里发布了它的修改版本 我正在尝试做一个简单的假设检验pyhf v0 4 0 https pypi org project pyhf 0 4 0 我使用的模型
  • 如何指定一个变量作为类或类实例的成员变量?

    在最新的 Python 2 7 x 中 给定类定义内的任何成员变量 该成员变量是否始终处于类级别 因为它是由该类的所有实例共享的单个变量 在类的定义中 如何指定 类定义中的哪些成员变量属于该类 因此由该类的所有实例共享 以及 哪些属于该类的
  • 将笔记本生成的 HTML 片段转换为 LaTeX 和 PDF

    在我的笔记本里有时会有 from IPython display import display HTML display HTML h3 The s is important h3 question of the day 但当我后来将笔记本

随机推荐