使用​​os​​​模块的​​system​​函数来打开一个exe文件
  X5zJxoD00Cah 2023年11月19日 17 0

路径中包含空格 需用双引号括起来



import os

# 需要双引号(以避免空格)
# 返回退出状态码 正确返回0 错误返回1
# 等候运行完成
# 如果程序本身已经在运行 则输出完成
path_5 = ...
os.system('"' + path_5 + '"')

不完整案例

import subprocess

# 不适用于关闭某程序/进程

# subprocess.run
# 等候运行结束
# returncode=0, stdout='', stderr=''

# 后台运行, 避免阻塞
# 避免shell注入gongji
# os.system 需要双引号(以避免空格), subprocess 不需要
# returncode: None
# 运行成功 <Popen: returncode: None args: '...> <_io.TextIOWrapper name=3 encoding='cp936'> <_io.TextIOWrapper name=4 encoding='cp936'>
def fun_Popen(command):
    try:
        result = subprocess.Popen(
            args=command,
            shell=False,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True)
        print(
            '运行成功' if (result.returncode==None) or (result.returncode==0) else '运行失败',
            result,
            result.stdout,
            result.stderr
        )
    except FileNotFoundError:
        print(command, "not correct")
        raise


在Python中,你可以使用os模块的system函数来打开一个exe文件。以下是一个例子:

import os

# 替换为你的exe文件的完整路径
exe_path = "C:\\path\\to\\your\\file.exe"

# 使用os.system打开exe文件
os.system(exe_path)

请确保你的exe文件路径是正确的,并且使用双反斜杠(\\)来避免转义字符的问题。如果你的exe文件在Python脚本的同一目录下,你可以直接使用exe文件的名字,而不需要完整路径。例如,如果你的exe文件名为example.exe,你可以直接使用os.system("example.exe")来打开它。

注意:os.system函数会阻塞你的Python程序,直到打开的exe程序关闭。如果你想要在后台打开exe文件,你可以使用subprocess模块的Popen函数。以下是一个例子:

import subprocess

# 替换为你的exe文件的完整路径
exe_path = "C:\\path\\to\\your\\file.exe"

# 使用subprocess.Popen打开exe文件
subprocess.Popen(exe_path)

subprocess.Popen函数会在后台打开exe文件,这样你的Python程序可以继续运行,而不需要等待exe程序关闭。同样,请确保你的exe文件路径是正确的。如果你的exe文件在Python脚本的同一目录下,你可以直接使用exe文件的名字,而不需要完整路径。例如,如果你的exe文件名为example.exe,你可以直接使用subprocess.Popen("example.exe")来打开它。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   25   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   30   0   0 Python.net
X5zJxoD00Cah