【作业】2022.4.28 文件整理和登录注册

本文介绍了如何使用Python实现文件整理功能,按后缀分类并创建缺失文件夹,以及一个简单的登录注册模块,包括用户信息管理与验证。

作业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()
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sprite.Nym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值