Python学习笔记--6.2 文件读写

#文件中所有读到的内容都是字符串
open('a.txt')
#file('a.txt','w')python2里用file。3里只用open

# r只读。打开的文件不存在的话,会报错。不写模式的话,默认是只读。
# w只写,写的时候会把之前的内容清空。打开的文件不存在的话,会帮你新建一个文件。
# a追加写,不会清空原来内容。打开的文件不存在的话,会帮你新建一个文件。

print('读',f.read())#读完文件指针到最后。
print('第二次读',f.read())#第二次读时指针还在最后,所以读不到。
print(f.readlines())#返回的list是每一行的内容。read是整个读出来的字符串。都是获取文件全部内容。

f=open('a.txt')
print(f.readline())#返回值是一行
print(f.readline())#第二次再读,是返回第二行

#写
f.write()#只能写字符串
f.writelines()#只能写字符串

a=['username,123','werwer,324','sdfs,43432']
for i in a:
f.write(i+' ')

u='abc,123'
f.writeine(u)

如果要写字符串到文件用。。。

# r+ #读写模式,打开不存在的文件会报错。可以写入.
# w+ #写读模式,删除原内容后写入
# a+ #追加读模式

f=open('a.txt','a+')
f.write('aaaa')


res=open('333.jpg','rb')#b是指二进制文件。打开一个二进制的图片

#可以从网站上下载图片,MP3,MP4等等

#如果memo内存小,disk中有很大的文件要打开,memo读的时候放不下,应该一行一行读。
f=open('a.txt',encoding='utf-8')
while true:#写一个死循环,当取值为空的时候说明已经取完了,直接就可以停止了。
line=f.readline()
if line!='':
ptint('line:',line)
else:
print('文件内容都读完了,结束了')
break


for line in f:#文件对象、文件句柄
print(line)
'''



#一分钟之内访问超过200次的网址加入黑名单

import time
point=0 #这个是记录运行一分钟后指针位置,下次运行时从记录的位置继续验证。
while true:
f=open('access.log','r',encoding='utf-8')
f.seek(point)
ips = {}
for line in f:
ip=line.split()[0]
if ip in ips:
ips[ip]=ips[ip]+1
else:
ips[ip]=1
point=f.tell()
f.close()
for ip,count in ips.items():
if count>=200:
print('%s加入黑名单',%ip)
time.sleep(60)#每隔60秒运行一次
原文地址:https://www.cnblogs.com/youyou-luming/p/9602025.html