zoukankan      html  css  js  c++  java
  • C和python中的文件基本操作

    文件操作:打开文件、操作、关闭文件

    C语言文件操作:

    ①打开文件:

    FILE  *fp;  //定义一个指向文件的指针变量fp

    fp=fopen(“test02”,”w”);  //以只写的方式,打开test02(参数1:所要打开的文件名,参数2:使用文件的方式)

    (文件的打开方式:

    w——只写

    r——只读

    a——追加(向文本末尾添加数据)

    r+——读写(以读和追加的模式打开文件)

    w+——写读

    a+——追加读写

    rb——读二进制文件(例如视频),还可以进行网络传输

    wb——写二进制文件

    ②文件操作

    fgetc(fp)              //从fp所指向的文件读入一个字符

    fputc(ch,fp)        //把字符ch写到文件指针变量fp所指向的文件中

    fgets(str,n,fp)    //从fp指向的文件读入一个长度为n-1的字符串,并存放字符创到str中(读成功返回地址str,失败返回NULL)

    fputs(str,fp)      //把str所指向的字符串写到文件指针变量fp所指向的而文件中(输出成功返回0,失败返回非0值)

    fread(buffer,size,count,fp);     /*以二进制的方式读取文件中的内容(buffer :用来存放从文件读入的数据的存储区的地址,size:要读写的字节数,count:要读写多少个数据项(每个数据项长度为size),fp:文件指针)*/

    fwrite (buffer,size,count,fp);   /*以二进制的方式读取文件中的内容(buffer :把此地址开始的存储区中的数据向文件输出,size:要读写的字节数,count:要读写多少个数据项(每个数据项长度为size),fp:文件指针)*/

    rewind(fp);  //使文件位置标记返回文件头

    fseek(文件类型指针,位移量,起始点);    //位移量为long型数据,在数字末尾加L

    起始点

    名字

    用数字代表

    文件开始位置

    SEEK_SET

    0

    文件当前位置

    SEEK_CUR

    1

    文件末尾位置

    SEEK_END

    2

    fseek(fp,100L,0) ; //将文件位置标记向前移到离文件开头100个字节处

    ftell(fp);               //得到文件位置标记的当前位置(出错则返回-1L)

    ferror(fp);           //检查在调用各种输入输出函数时,有没有出现错误(返回值为0,表示未出错,返回非0值,表示出错)

    clearerr(fp);       // 使文件错误标志和文件结束标志置为0

    feof(fp) ;            //如果文件读写位置标记移到文件末尾则返回值为真

    ③文件关闭

    f.close(fp)           //关闭fp所指向的文件

    python文件操作:

    ①打开文件:f=open('test01','r',encoding='utf_8')   #参数1:所要打开的文件,参数2:文件的打开方式,参数三:文件的编码格式  ;f为文件句柄

     ’’’电脑中存在名为test01的文件,则直接打开;否则,创建名为test01的文件并打开’’’

    ②文件操作

    data=f.read() #读取文件内容

    f.write(“第一次测试01/n”) #向文件中写入内容

    f.readline() #打印当前行

    f.readlines()#打印多行

    f.readlines(2) #打印第二个字符所在行

    f.readline(5) #打印当前行的前5个字符

    print(f.tell()) #打印当前句柄所在位置

    f.seek(0) #回到文件首

    f.fileno() #返回文件编号

    f.flush()  #强制刷新(将缓存的内容放到硬盘)

    f.buffer() # 返回值为<_io.BufferedReader name='test01'>

    f.truncate() #清空文件

    f.truncate(10) #读取文件的前10个字符(只能从文件开头读)

    ③文件关闭

    f.close()

    f.closed

    例一:读取前n行

    for i in range(n):

    print(f.readline())

    例二:循环读取全部行

    (1)for line in f.readlines():

                   print(line.strip())

    (2)for line in f:

             print(line)

    执行结果:

    例三:在输出的文件内容中添加分割线

    count=0

    for line in f:

         if count==2:

             print("-------fenge------")

             print(line)

             count+=1

             continue

         print(line)

         count+=1

    执行结果:

    欢迎各位大神批评、指正!谢谢!

  • 相关阅读:
    11 [异常]-try...except
    3-4 网络编程 练习题
    31 选课系统
    3-3 面向对象 本章总结
    3-2 面向对象中级练习题
    3-1 面向对象练习题
    11 [面向对象]-面向对象的软件开发
    10 [面向对象]-元类
    App集成极光推送开发流程[关键步骤]
    App集成极光推送步骤
  • 原文地址:https://www.cnblogs.com/come-on-baby/p/9335708.html
Copyright © 2011-2022 走看看