首页 > 解决方案 > 如何在python中从cmake运行可执行文件

问题描述

所以我从cmake文件名“COSMO”创建了一个可执行文件,如果我从 Linux 命令终端运行它,它运行良好

$ cat COSMO 

我得到了想要的输出但是如果我想使用 python 打开同一个文件,我使用

$ python3 file.py

python3文件包含代码的地方

import subprocess

def executable_shell():
    x=subprocess.run('cd build && cat COSMO', shell=True, capture_output=True)
    print(x)
executable_shell()

为了确保 cd 命令不会干扰,我在创建 cmake 文件的构建目录中创建了一个 python 文件。

现在在这两种情况下,当我从记事本打开可执行文件时,我都会得到随机的乱码。而如果我直接运行此文件,则格式很好。

如果我使用 .stdout.decode() 它是说编解码器无法解码位置 96 中的字节 0xf8:无效的起始字节

我已经使用了我的子进程命令,它对于 ls、cd 等命令运行良好,所以如何在 python 中运行它

标签: pythonccmaketerminalbinary

解决方案


推荐阅读