You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中运行需输入文件的exe程序?

在Python中运行需读取输入文件的EXE程序

为什么之前的尝试失败

你用os.system("aaa.exe", "bbb.dat")失败是因为os.system只接受单个字符串参数,不能拆分传参;另外要注意文件路径的正确性——DOS命令里的\bbb.dat写法有问题,如果bbb.dat和aaa.exe在同一目录,应该用相对路径bbb.dat,如果是绝对路径要写全路径。

两种可行方案

方案1:使用os.system

把命令拼成完整的字符串,注意路径格式:

import os

# 若exe和dat在同一目录,直接拼接命令
os.system("aaa.exe bbb.dat")

# 若不在同一目录,写完整路径(Python中用双反斜杠或原始字符串避免转义)
os.system(r"C:\Users\Program\Siimulation\Input\aaa.exe C:\Users\Program\Siimulation\Input\bbb.dat")

方案2:使用subprocess.run(推荐)

subprocess是Python官方推荐的替代os.system的模块,参数传递更灵活,还能捕获执行状态和输出:

import subprocess

# 同一目录下直接运行
subprocess.run(["aaa.exe", "bbb.dat"], check=True)

# 切换到exe所在目录运行(更简洁,不用写全路径)
subprocess.run(
    ["aaa.exe", "bbb.dat"],
    cwd=r"C:\Users\Program\Siimulation\Input",
    check=True
)

# 若dat文件是绝对路径的情况
subprocess.run(
    ["aaa.exe", r"C:\Users\Program\Siimulation\Input\bbb.dat"],
    cwd=r"C:\Users\Program\Siimulation\Input",
    check=True
)
  • check=True会在exe运行失败时抛出异常,方便排查错误;
  • 若需要捕获exe的输出内容,可添加capture_output=True参数。

关键注意点

  • 路径要准确:如果exe或dat不在当前Python脚本的工作目录,要么写完整路径,要么用cwd参数切换到目标目录;
  • 路径转义:Windows路径里的\要写成\\,或者用原始字符串(前缀加r)避免转义错误;
  • 权限足够:确保Python脚本有运行该exe和读取dat文件的权限。

内容的提问来源于stack exchange,提问作者oceanocean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:23:31