八、文件的处理

f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r')
s = f.read
print(s)
f.close
f:变量,f_obj,file,f_handler,...文件句柄。
open 是windows的系统功能,
windows默认编码方式:gbk,linux默认编码方式utf-8。
f.close()

流程:打开一个文件,产生一个文件句柄,
       对文件句柄进行操作,关闭文件。

读的几种方式

1.    f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

s=f.read

print(s)

f.close()

这种是全部读出来

2.   f = oepn('H:\\呵呵.txt',endoding='utf-8','r')

s = f.readline

print(s)

print(s)

print(s)

 

f.close()         一行一行的读   每print一次就打印一行

3.   f = open('H:\\呵呵.txt',encoding='utf-8' , 'r')

s = f.readlines

print(s)         把文件的每一行作为一个元素(包括换行符)放到一个列表中  

f.close()

4.   f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

s = f.read(int)   (参数填数字 )

 print(S)            打印字符的个数

     f = open('H:\\呵呵.txt','rb')

     s = f.read(int)  (参数填数字 )  

    print(S)            打印字节的个数

f.close()         

5.   f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

fpr i in f:

  print(i.strip())     循环打印每一行  

在读非文字的文件时候用rb

   f = open('H:\\呵呵.txt','rb')

  s =  f.read()

   print(s)

f.close()

写的方式

如果我没有这个文件夹就创建这个文件夹写入内容,如果有这个文件夹 就清空文件内容  然后再添加

1.    f = open('H:\\呵呵.txt',encoding = 'utf-8','w')

       f.write('kkkk')

       print(f)  

      f.close()

 写入byte数据类型的内容

  f = open('H:\\呵呵.txt','wb')

       f.write('kkkk'.encoding('utf-8'))

     print(f)      

    f.close()

a     有文件就追加内容 没有文件就创建文件加入内容

  f = open('H:\\呵呵.txt',encoding = 'utf-8','a')

       f.write('kkkk')

       print(f)  

      f.close()

r+   先读后写  一定要先读后写 

  f = open('H:\\呵呵.txt',encoding = 'utf-8','r+')

s = f.read()

 f.write('kkkk')

  print(f)  

  f.close()

w+    先写后读

f = open('H:\\呵呵.txt',encoding = 'utf-8','w+')

 

f.write('kklkk')

print(f.tell())   查找光标在什么位置

f.seek(0)         参数填入数字 然后把光标调整到想要的位置

s = f.read()

print(s) 

f.close()   

a+    追加读 可以一直先写入再读出来

f = open('H:\\呵呵.txt',encoding = 'utf-8','a+')

f.write('kklkk')

f.seek(0)           

s = f.read()

print(s)        

其他方法

判断是否可读  可写打印的是bool值

print(f.writable())

print(f.readable()

f.truncate()     参数填数字   按照字节个数来截取文件内容

系统中修改文件的过程

1,将源文件读取到内存中

2,将原文件的内容修改成新内容

3,将新字符串写入新文件上

4,将原文件删除

5,将新文件的名字改成原文件名

import os
with open ('log',encoding='utf-8','r') as f1,\
 open('bak_log',encoding='utf-8','w') as f2:
    content = fi.read()
    new_content = content.replace('sb','alex')
    f2.wriite(new_content)
os.remove('log')
os.rename('bak_log','log')

  

 

 

上一篇:十四、内置函数


下一篇:十一、装饰器