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

执行结果:

 

 

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

 

posted @ 2018-07-19 14:40  %木糖醇---LHY%  阅读(181)  评论(0编辑  收藏  举报