小编use*_*754的帖子

Python替代fscanf C代码

我有一些效果很好的C代码:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    FILE *fp;
    struct emp
    {
        char name[40];
        int age;
        float bs;
    };
    struct emp e;
    fp=fopen("EMPLOYEE.DAT","r");
    if(fp==NULL)
    {
        puts("Cannot open file";
        exit(1);
    }
    while(fscanf(f,"%s %d %f",&e.name,&e.age,&e.bs)!=EOF)
        printf("%s %d %f\n",e.name,e.age,e.bs);

    fclose(fp);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

里面的数据EMPLOYEE.DAT:

Sunil 34 1250.50
Sameer 21 1300.50
rahul 34 1400.50
Run Code Online (Sandbox Code Playgroud)

我在将此代码转换为Python时遇到问题:

while(fscanf(f,"%s %d %f",&e.name,&e.age,&e.bs)!=EOF)
    printf("%s %d %f\n",e.name,e.age,e.bs);
Run Code Online (Sandbox Code Playgroud)

有没有办法在Python中实现它?此外,什么是Pythonic的替代品exit()&EOF?

c python python-2.7

4
推荐指数
1
解决办法
8174
查看次数

标签 统计

c ×1

python ×1

python-2.7 ×1