作业1:整理文件函数
功能:
1. 将文件按后缀名整理
2. 什么后缀名放什么名字的文件夹
3. 遇到没有后缀名的就放“其他文件”文件夹
4. 遍历到没有的文件夹就新建
5. 其他已经存在于待整理文件夹的子文件夹不能动
import os
import shutil
def clear_up(path):
classification_folders = {}
for file_ in os.listdir(path):
if os.path.isfile(f'{path}\{file_}'):
ext_folder = os.path.splitext(file_)[-1][1:]
if not ext_folder:
ext_folder = '其他文件'
if ext_folder in classification_folders:
shutil.move(os.path.join(path, file_), os.path.join(path, ext_folder))
else:
classification_folders[ext_folder] = True
os.mkdir(os.path.join(path, ext_folder))
shutil.move(os.path.join(path, file_), os.path.join(path, ext_folder))
if __name__ == '__main__':
clear_up(r'..\april_twenty_eight_hw1')
作业2:这是一个登录注册函数
功能如下:
1. 首先会创建一个注册信息.txt文件,之后的每个用户信息都是写入注册信息.txt的新字典
2. 注册:
2.1 注册的时候如果账号已有提示错误(失败次数达到5直接退出,下同)
2.2 如果是还没存在的账号就写入注册信息.txt
3. 登录:
3.1 登陆的时候如果账号错误就提示
3.2 密码错误也提示
3.3 成功了就提示
就这样!!!!!!!!!!!!!!
"""
-------------------------
1. 登录
2. 注册
-------------------------
请选择:2
账号:abc
密码:123456
注册成功!、注册失败!(如果这个账号已经注册过,就注册失败)
请选择1:1
账号:abc
密码:123456
登陆成功!登录失败!(a.账号没有注册 b.密码错误)
"""
import os
def register():
register_ = open(r'D:\注册信息\注册信息.txt', mode='r')
register_info = eval('[' + register_.read() + ']')
print(register_info, type(register_info))
id = input('请输入账号:')
password = input('请输入密码:')
count_fail = 1
while id in [x['id'] for x in register_info]:
print('已有该账号!')
print(f'失败次数:{count_fail}')
id = input('请输入账号:')
password = input('请输入密码:')
count_fail += 1
if count_fail == 5:
register_.close()
print('你是来找茬的是吧!')
return
register_ = open(r'D:\注册信息\注册信息.txt', mode='a')
register_.write(', {' + f"'id': '{id}', 'password': '{password}'" + '}')
register_.close()
print('注册成功!')
return
def login():
register_ = open(r'D:\注册信息\注册信息.txt', mode='r')
register_info = {x['id']: x['password'] for x in eval('[' + register_.read() + ']')}
id = input('请输入账号:')
password = input('请输入密码:')
count_fail = 1
while not id in register_info:
print('该账号未注册!')
print(f'失败次数:{count_fail}')
id = input('请输入账号:')
password = input('请输入密码:')
count_fail += 1
if count_fail == 5:
register.close()
print('尝试次数过多!请稍后再试!')
return
count_fail = 1
while password != register_info[id]:
print('密码错误!')
print(f'失败次数:{count_fail}')
id = input('请输入账号:')
password = input('请输入密码:')
count_fail += 1
if count_fail == 5:
register.close()
print('尝试次数过多!请稍后再试!')
return
print('登陆成功!')
register_.close()
return
def register_login():
print(open('page.txt', mode='r', encoding='utf-8').read())
choice = 0
if not os.path.exists(r'D:\注册信息'):
os.makedirs(r'D:\注册信息')
if not os.path.exists(r'D:\注册信息\注册信息.txt'):
register_ = open(r'D:\注册信息\注册信息.txt', mode='w')
register_.write("{'id':'', 'password':''}")
register_.close()
choice = input('请输入1或2:')
while choice != '1' and choice != '2':
choice = input('请选择需要选项1 or 选项2:')
if choice == '2':
register()
else:
login()
if __name__ == '__main__':
register_login()