python-day10--文件处理

1.文件:是操作系统提供的概念

2. open(r+'文件路径' , '打开方式' , '用什么字符编码')   #r 表示原始字符串

eg:open(r'C:\Users\13264\Desktop\aaaa.py','r',encoding='utf-8')

3.文件打开:

     f=open(r'aaaa.py')

  这个过程等于干了两件事:第一是操作系统打开文件,第二是在内存中开空间存一个变量

4.文件回收:

    f.close    # 这是在关闭操作系统级别占有的内存

5.文件的处理方法:

     ①文本文件:只读模式,文件不存在报错  

     read    readable    readline    readlines   

     扩展:光标的移动seek

    ②文本文件:只写模式,文件不存在会创建,文件存在则会清空文件内容

    write    writeable    writelines

    ③文本文件:只追加写模式,   'a'     ,文件不存在则创建,存在则在文本最后添加内容

    ④b模式:bytes模式

#rb
# f=open('aaaa.py','rb')
# print(f.read().decode('utf-8'))

# f=open('1.jpg','rb')
# data=f.read()

#wb
# f=open('2.jpg','wb')
# f.write(data)


# f=open('new_3.txt','wb')
# f.write('aaaaa\n'.encode('utf-8'))

#ab
f=open('new_3.txt','ab')
f.write('aaaaa\n'.encode('utf-8'))

 

6.上下文管理:不用担心文件的close

# with open(r'aaaa.py','r',encoding='utf-8') as read_f,\
# open(r'aaaa_new.py','w',encoding='utf-8') as write_f:
# data=read_f.read()
# write_f.write(data)

  

7.#循环取文件每一行内容

  with open('a.txt','r',encoding='utf-8') as f:
# while True:
# line=f.readline()
# if not line:break
# print(line,end='')

# lines=f.readlines() #只适用于小文件
# print(lines)
for line in f: #推荐使用
         print(line,end='')



8.文件的修改

#方式一:只适用于小文件
# import os
# with open('a.txt','r',encoding='utf-8') as read_f,\
# open('a.txt.swap','w',encoding='utf-8') as write_f:
# data=read_f.read()
# write_f.write(data.replace('alex_SB','alex_BSB'))
#
# os.remove('a.txt')
# os.rename('a.txt.swap','a.txt')


#方式二:
import os
with open('a.txt','r',encoding='utf-8') as read_f,\
open('a.txt.swap','w',encoding='utf-8') as write_f:
for line in read_f:
write_f.write(line.replace('alex_BSB','BB_alex_SB'))

os.remove('a.txt')
os.rename('a.txt.swap','a.txt')
 

 

posted @ 2017-07-24 20:15  Cool·  阅读(198)  评论(0编辑  收藏  举报