# f=open(r'aaaa.py',encoding='utf-8') #x=1
# # print('+++++>1',f.read())
# # print(type(data))
# # print('+++++>2',f.read())
# # print('+++++>3',f.read())
# f.close()
# print(f)
# f.read()
# # del f


open:
#1 会向操作系统发起系统调用,操作会打开一个文件
#2 在python程序中会产生一个值指向操作系统打开的那个文件,我们可以把该值赋值一个变量

回收资源:
1 f.close():一定要做,关闭操作系统打开的文件,即回收操作系统的资源
2 del f:没必要做,因为在python程序运行完毕后,会自动清理与该程序有关的所有内存空间

#文本文件:只读模式,文件不存在报错
# f=open(r'aaaa.py','r',encoding='utf-8')
# print(f.read())
# print(f.read
#
# line(),end='')
# print(f.readlines())
# print(f.readable())
# print(f.writable()) #False
# f.close()

文本文件:只写模式,文件不存在则创建空文件,文件存在则清空
# f=open('new.txt','w',encoding='utf-8')
# f.write('1111111\n')
# f.writelines(['22222\n','3333\n','444444\n'])
# # print(f.writable())
# f.close()

文本文件:只追加写模式,文件不存在则创建,文件存在
# f=open('new_2','a',encoding='utf-8')
# print(f.readable())
# print(f.writable())

# f.write('33333\n')
# f.write('44444\n')
# f.writelines(['5555\n','6666\n'])

# f.close()


#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'))

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


#循环取文件每一行内容
# 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)

# data=f.read()
# print(type(data))


# for line in f: #推荐使用
# print(line,end='')

 


#文件的修改
#方式一:只适用于小文件
# 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 on 2017-07-26 17:09  无痕5201314  阅读(143)  评论(0编辑  收藏  举报