标签:abc 打开 获取文件 标记 oat test class color sort
一、文件的读出:
file = open(‘url/data.txt‘,‘r‘,encoding=‘utf-8‘)#打开模式r w a,当文件在当前工作区域直接写文件名;如果不在当前工作区域要写绝对地址
res = f.read()#读文件,获取文件里面的全部内容
res2 = f.readline()
res3 = f.readlines() #显示格式为的列表
print(res2) #一次读取第一行
print(res3) #整个文件内容,返回list一行一个元素
f.close() #关闭文件
二、文件的写入
f1 = open(‘a.txt‘,‘w‘,encoding = ‘utf-8‘) f1.write(‘写内容‘) #会把原文件内容给覆盖掉
f1.close() l = [‘1234\n‘,‘56789\n‘,‘abcdef‘] f1.writelines(l)#可以将内容存在list里面,利用writelines来写进文件 不用循环 #等同于 for j in l: f1.write(j) f1.close()
for i in f:#以f文件为循环条件对象,会以行的方式来循环读取 可以用来处理大文件
print(i)
三、文件指针
#文件指针指的是,文件阅读循环时,作标记,下一循环不从文件开始地方读取,而是从上次读取的位置往下读 import time point = 0#初始化位置 while True:#死循环 f = open(‘C:/Users/86136/Desktop/access.log‘,encoding = ‘utf-8‘) f.seek(point)#移动文件指针的位置 ip_list = {}#ip:2 定义在循环里面,会每60s清空一次 for line in f: ip = line.split()[0]#split分割后 就是list 赋予下标 取值 if ip not in ip_list: ip_list[ip] = 1 else: ip_list[ip]+=1 point = f.tell()#当前文件指针的位置 f.close() for ip in ip_list: count = ip_list.get(ip) if count >= 50: print(ip,‘有问题‘) f.close() time.sleep(60)
四、文本文件转换为二维列表、二维列表排序后存入文本文件
import items as items file = open(‘D:/aaaaayuanchengbangong/bestTEST/data.txt‘,‘r‘,encoding=‘utf-8‘) #读文件 list = file.readlines() data_list = [] for i in range(len(list)):#所有行作为循环条件 list1 = list[i].strip().split(‘ ‘)#添加对象,按换行符分割,存进list中 data_list.append(list1) data_list = sorted(data_list, key=lambda data: float(data[2]),reverse=True) print(data_list) file.close() #写文件 file_w = open(‘D:/aaaaayuanchengbangong/bestTEST/sort.txt‘,‘w‘,encoding=‘utf-8‘) for j in range(len(data_list)): for k in range(len(data_list[j])): file_w.write(str(data_list[j][k])) file_w.write(‘ ‘) file_w.write(‘\n‘) file_w.close()
五、将字典存入文本文件
info = {} usernames = [‘xiaohei‘,‘xiaobai‘,‘xiaoming‘] passwords = [‘123456‘,‘11111‘,‘1‘] for i in range(len(usernames)): u = usernames[i] p = passwords[i] info[u] = p for i in range(3): username = input(‘username:‘).strip()#去两端空格 if username==‘‘: print(‘账号已存在‘) elif username in info: print(‘输入不能为空‘) else: password = input(‘password:‘).strip() cpassword = input(‘cpassword:‘).strip() if password==‘‘ or cpassword==‘‘: print(‘密码不为空‘) elif password != cpassword: print(‘两次输入密码不一致‘) else: info[username] = password print(‘注册成功‘) break else: print(‘错误次数过多‘) print(info) file_w1 = open(‘D:/aaaaayuanchengbangong/bestTEST/users.txt‘,‘w‘,encoding=‘utf-8‘) for k,v in info.items(): file_w1.write(str(k)+‘:‘+str(v)+‘\n‘) file_w1.close()
标签:abc 打开 获取文件 标记 oat test class color sort
原文地址:https://www.cnblogs.com/yunyuncongsheng/p/12810338.html