python学习12——课后练习

#1、通用文件copy工具实现
scr_file=input('输入源文件路径').strip()
dist_file=input('输入目标文件路径').strip()
with open(r'{}'.format(scr_file),mode='rb') as src_f,\
open(r'{}'.format(dist_file),mode='wb')as dist_file:
for line in scr_file:
dist_file.write(line.encode('utf-8'))
'''

输入源文件路径/Users/chenfeng/PycharmProjects/200228正课/t3.jpg
输入目标文件路径/Users/chenfeng/PycharmProjects/1.jpg

Process finished with exit code 0

'''
#2、基于seek控制指针移动,测试r+、w+、a+模式下的读写内容

'''
seek_test.txt的内容:
1234567
1234567
'''
# r+
with open('seek_test.txt',mode='r+b')as f1:
f1.seek(2,0)
print(f1.read().decode('utf-8'))
f1.seek(6,1)
f1.write('stop'.encode('utf-8'))
#w+
with open('seek_test.txt',mode='w+b')as f2:
f2.seek(0,1)
print(f2.read().decode('utf-8'))
f2.seek(1,1)
f2.write('frezz'.encode('utf-8'))
#a+
with open('seek_test.txt',mode='a+b')as f3:
f3.seek(-5,2)
print(f3.read().decode('utf-8'))
f3.seek(3,1)
f3.write('add'.encode('utf-8'))
f3.seek(1,1)
f3.write('add2'.encode('utf-8'))
'''
34567
1234567

frezz

Process finished with exit code 0
'''
#3、tail -f access.log程序实现
import time
with open('access.log',mode='rb') as f:
f.seek(0,2)
while True:
line=f.readline()
if len(line) == 0: # 没有内容
time.sleep(0.5)
else:
print(line.decode('utf-8'),end='')

猜你喜欢

转载自www.cnblogs.com/heirenxilou/p/12506210.html