'''文件读的基本操作'''
#f = open('file01',encoding='utf-8') #定义文件句柄
#print(f.read()) #打印
#print(f.read(5)) #读取5个字符
#data = f.read()
#data2 = f.read()
#print(data)
#print(f.tell()) #查看文件指针(光标)的当前位置
#print('----------------------------------------',data2)
#发现data2并没有打印,是因为文件指针位置已经到了末尾
#上述程序段做出以下修改可以看到结果
'''data = f.read()
print(f.tell())
f.seek(0) #把指针指向文件首
print(f.tell())
data2 = f.read()
print(f.tell())
print(data)
print('----------------------------------------',data2)
'''
#with open('file01','r',encoding='utf-8') as f: #with语句会自动关闭文件
# for i in range(5):
# print(f.readline()) #读前五行
# print(f.readlines()) #把文件以列表的方式读取,每行是一个元素
'''打印文件,每过十行用分隔符替代的实现方法1'''
#with open('file01','r',encoding='utf-8') as f:
# count = 0
# for i in f.readlines():
# print(i)
# count += 1
# if count % 9 == 0 and count != 0:
# print('---------分割线----------')
# continue
'''方法2用enumerate'''
#with open('file01','r',encoding='utf-8') as f:
# for index,i in enumerate(f.readlines()):
# if index % 9 == 0 and index != 0:
# print('----------分割线-----------')
# continue
# print(i)
'''高级迭代循环,把句柄f变成迭代器,对于大文件不是将所有内容存在内存中,而是逐行读,随时释放内存'''
#with open('file01','r',encoding='utf-8') as f:
# for i in f:
# print(i.strip())
'''文件的写操作'''
#f = open('file01','a') #追加模式
#f = open('file01','w') #写模式
#f = open('file01','r+') #读写模式打开
#f.write('Append\n') #写入新的内容,
#f.write('Append2')
#f.seek(0)
'''文件的一些常用方法'''
#f = open('file01','r+',encoding='utf-8')
#print(f.encoding) #输出编码
#print(f.seekable()) #判断是否可以移动光标
#print(f.readable()) #判断是否可读
#print(f.writable()) #判断是否可写
#f.flush() #脏数据下盘
#print(f.closed) #判断文件是否关闭
'''一个进度条实例理解脏数据下盘'''
#import sys,time
#for i in range (30):
# sys.stdout.write('#')
# sys.stdout.flush() #如果没有下盘动作,会等到缓冲器满之后一次下盘
# time.sleep(0.1)
#f.truncate(10) #截断
#print(f.read())
#print(f.tell())
#f.seek(5)
#f.truncate(10)
#print(f.read()) #可以观察到truncate方法的截断会从当前光标位置进行截断
'''
r+ 读权限+追加
w+ 覆盖写+读权限
a+ 追加+读权限
rb 二进制读取,用于读二进制文件
wb 二进制写
'''
#f = open('File02','wb')
#f.write('Binary'.encode())
#f.close()
'''文件的修改'''
with open('Replace_init','r') as f1: #Python2.7之后可以操作多个文件 可以写成with open('Replace_init','r') as f1,open('Replace_new','w') as f2
with open('Replace_new','w') as f2:
for line in f1:
if line == 'Line 1\n':
line = 'New Line 1\n' #或者用Replace方法 line = line.replace('Line 1\n','New Line 1\n')
f2.write(line)
暂无评论