我的 C 脚本:
/* Hello World program */
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
我希望以最简单的方式 Hello, World!
直接在我的 Python IDE (Rodeo IDE) 中打印。
到目前为止,我已经提出了以下方法,但它似乎不起作用(而且有点麻烦,因为它需要我去终端):
首先,我gcc helloworld.c
在终端中生成可执行文件a.out*
,然后执行:
from subprocess import call
call(["./a.out"])
但是我没有打印Hello, World!
到 Python 控制台,而是得到了0
(这意味着成功)。我怎样才能让 C 输出直接打印到 Python 控制台,我怎样才能进一步简化它(例如,通过避免终端绕道)?我知道我需要先制作可执行文件(这就是我使用终端的原因),但也许在 Python IDE 中有一种更时尚的方法来完成它?
对于想知道 b 代表什么的用户... @happydave 的解决方案在此处进行了测试,并感谢 @Mark Tolonen 解释 b
Python 3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul 2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> print(subprocess.check_output("./a.out"))
b'Hello, World! \n'
很奇怪是b
从哪里来的……