【发布时间】:2016-10-28 01:00:54
【问题描述】:
这是一个简单的问题,但我在我的问题附近找不到任何东西,所以我开始了,我试图在 Python 中执行一个 C 程序来获取输出,问题是它不起作用。 我没有错误,但是当我尝试打印输出时,我什么也没有得到,比如空格或其他东西,但是如果我在我的 C 中打印输出的内容(那是一个词吗?)它工作得很好,所以这是我的python代码:
command = "./serialize %s %s %s" %(binary , width , height)
p=subprocess.Popen(command, shell=True,stderr=subprocess.STDOUT)
(output, err) = p.communicate()
print output
(很简单,二进制是字符串,宽度和高度是整数)
如果你想知道,这里是我的 C 代码:
char* main(char* argc,char* argv[]){
char* r;
r = serialize(argv[1],atoi(argv[2]),atoi(argv[3]));
printf("%s", r);
return r;
}
(序列化是我制作的一个功能非常好,我知道是因为返回之前的 printf 给了我想要的东西)。
所以,如果您有任何想法,那就太好了,谢谢大家。
【问题讨论】:
标签: python c subprocess popen