如何在python中从cmake运行可执行文件

如何在python中从cmake运行可执行文件,python,c,cmake,terminal,binary,Python,C,Cmake,Terminal,Binary,因此,我从cmake文件名“COSMO”创建了一个可执行文件,如果我从Linux命令终端运行它,该文件运行良好 $ cat COSMO 我得到了期望的输出 但是如果我想用python打开同一个文件,我会使用 $ python3 file.py 其中python3文件包含代码 import subprocess def executable_shell(): x=subprocess.run('cd build && cat COSMO', shell=True,

因此,我从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:无效的开始字节

我已经使用了我的subprocess命令,它对于ls、cd等命令来说运行良好。
那么如何在python中运行它呢。正如你所说,它不运行可执行文件。伙计们,我的同事制作的cmake文件是坏的