请不要再使用把结果重定向到一个临时文件,再读取文件的方法!!!




python调用第三方程序并获取结果: 
       command = "gluster peer probe %s" %(host);
        f=os.popen(command);
        lines=f.readlines();
        f.close();

        for line in lines:
                items = line.split();

c语言调用第三方程序并获取结果:
sprintf(cmd, "dd if=/dev/zero of=%s/test%d.img count=1024 bs=1M 2>&1", disk, cur);
//printf("Start ==> %s\n", cmd);
        if (!(pf = popen(cmd, "r"))){
                return -1;
        }

        while (fgets(buf, 1023, pf) && !g_quit){
                buf[1023] = 0;

                ptr = strtok_r(buf, " \t\r\n", &pstok);

                while (ptr){
                        if (!strcasecmp(ptr, "seconds,") ||
                            !strcasecmp(ptr, "s,")){
                                ptr = strtok_r(NULL, " \t\r\n", &pstok);
                                if (!ptr) break;

                                ptr1 = strtok_r(NULL, " \t\r\n", &pstok);
                                sprintf(syslog_info, "dd to %s/test%d.img record: speed %s %s", disk, cur, ptr, ptr1?ptr1:"");
                                done = 1;
                                break;
                        }
                        ptr = strtok_r(NULL, " \t\r\n", &pstok);
                }
        }
        pclose(pf);


你可能感兴趣的:(读取文件)