infos =[['王*名','北京市海淀街重阳路大厦4层'],['孙*化','北京市昌平区哈哈哈哈路大厦3层'],['李*以','浙江省杭州市海淀街重阳路大厦4层'],['赵*哈','上海市海淀街重阳路大厦3层'],['钱*的','上海市海淀街重阳路大厦4层'],['吴*看','湖北省武汉市海淀街重阳路大厦4层'],['代*睿','湖北省武汉市海淀街重阳路大厦4层'],['李*名','河北省石家庄市海淀街重阳路大厦4层'],['贺*佳','河北省石家庄海淀街重阳路大厦4层'],['何*名','四川省重庆市海淀街重阳路大厦4层'],['倪*昵','四川省重庆市海淀街重阳路大厦4层'],['张*名','北京市海淀街重阳路大厦4层'],['甲*名','北京市海淀街重阳路大厦4层'],['乙*8','北京市海淀街重阳路大厦4层'],['丙*名','北京市海淀街重阳路大厦4层'],['高*','新疆乌鲁木齐市哈哈哈哈路99号建行大厦100楼'],['张*','陕西省咸阳市哈哈哈路20号'],['司*鹏','河南省鹤壁市嘻嘻嘻路3130号'],['王*','天津市河北区埃德加地铁站旁体育中心'],['王*都','宁夏银川市海淀街重阳路大厦4层'],['阿夫*亚','内蒙古呼和浩特市海街重阳路大厦4层'],['张*俊','新疆巴音郭楞州石化大道塔指1区25栋403']]
address ={}
province =[]for info in infos:if"省" in info[1][:3]:
province.append(info[1][:3])if"市" in info[1][:3]:
province.append(info[1][:3])if"新疆" in info[1][:2]:
province.append(info[1][:2])if"内蒙古" in info[1][:3]:
province.append(info[1][:3])if"宁夏" in info[1][:2]:
province.append(info[1][:2])if"黑龙江省"== info[1][:4]:
province.append(info[1][:4])
province =list(set(province))for i in province:
address[i]=[]for info in infos:for i in province:if i in info[1]:
address[i].append(info)print("{")for k,v in address.items():print(k,":[")for j in v:print(" ",j)print("]")print("}")
name文件
字母哥 ge 男 36
字母爹 die 男 34
字母姐 jie 女 37
字母妹 mei 女 33
字母妈 ma 女 56
文件提取
f =open("name")#print(f.readlines())for line in f:
line = line.split()
sex = line[2]if sex =="男":print(line)
文件修改
f =open("name","r+") # r+为可读可写模式
# 1.加载到内存
data = f.read()
data = data.replace("字母弟","字母爹")print(data)
# 2.清空文件
f.seek(0) # 把光标移到最前面
f.truncate() # 截断文件
# 3.把内容写回硬盘
f.write(data)
f.close()
全局文本检索替换小脚本
import sys
print(sys.argv)
old = sys.argv[1]
new = sys.argv[2]
file = sys.argv[3]
# 1.加载到内存
f =open(file,"r+")
data = f.read()
# 2. 检索替换
old_count = data.count(old)
data = data.replace(old,new)
# 3.清空文件
f.seek(0)
f.truncate()
# 4.把内容写回硬盘
f.write(data)
f.close()print(f"成功替换字符:{old}为{new},一共{old_count}处...")
用户登录小程序
database:
wwf a1234 1
wave b1234 01914080903126 c1234 0
# 1.建立账号信息database
# 2.把账号信息读取到内存,方便调用
accounts ={}
f =open("database","r")for line in f:
line = line.strip().split(" ")
accounts[line[0]]= line
# 3.输入用户信息,循环判断能否登入
while1:
username =input("账号:").strip()if username not in accounts:print("此账号不存在...")continue #无法输入密码
elif accounts[username][2]=="1":print("此用户已被锁定,请联系管理员")continue #无法输入密码
count =0while count <3:
password =input("密码:").strip()if password == accounts[username][1]:exit(f"成功登入...欢迎亲爱的{username}...") #登入后就跳出登录程序
#breakelse:print("密码错误...")
count +=1if count ==3: #将用户进行锁定
print(f"连续输入{count}次密码错误,用户{username}已被锁定")
accounts[username][2]="1" #改变accounts字典中此用户的状态
ff =open("database","w") #将更改后的信息重写入database
for k,v in accounts.items():
line =" ".join(v)+"\n"
ff.write(line)
ff.close()print("......")