gpt4 book ai didi

python - 如何使用 C 文件返回一个值,然后使用 os.system 在 python 中获取它?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:43 26 4
gpt4 key购买 nike

我正在使用 python os.system 来打印从 C 文件接收到的值。

我的 C 文件说...

#include <stdio.h>

main()
{
printf("hello world\n");
return 7;
}

然后我有一个执行以下操作的 python 文件...

import os

x = os.system("./a.out")

print x

当我在 linux 命令行上运行 python 程序时,我成功打印了“hello world”,但变量 x 打印为 1792。

我希望 x 打印为 7,而不是 1792。为什么 x 打印为 1792,我该如何解决?

最佳答案

关于 os.WEXITSTATUS 的其他答案是正确的,但推荐的方法是使用 subprocess . os.system 的文档包括以下段落:

The subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using this function. See the Replacing Older Functions with the subprocess Module section in the subprocess documentation for some helpful recipes.

既然你对返回码感兴趣,你可以使用subprocess.call :

import subprocess

x = subprocess.call(['./a.out'])

print x

关于python - 如何使用 C 文件返回一个值,然后使用 os.system 在 python 中获取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24825957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com