文件夹整理和登录操作系统作业

1. 文件夹整理
import os
from shutil import move

def clear_up_folder(path:str):
    """
    整理文件夹,将相同后缀的文件放入指定文件夹中
    :param path: 需要整理的文件夹路径
    :return: None
    """
    for x in os.listdir(path):
        x_path = os.path.join(path,x)
        if os.path.isfile(x_path):
           suffix = os.path.splitext(x)[-1][1:]
           # 如果没有后缀就为None
           if not suffix:
               suffix = 'None'
           # 后缀对应的文件夹
           d_path = os.path.join(path,suffix)
           # 判断文件夹是否存在
           if not os.path.exists(d_path):
               os.mkdir(d_path)
            # 移动文件
           move(x_path,os.path.join(d_path,x))


if __name__ == '__main__':
    clear_up_folder(r'E:\01语言基础\4-作业\day14系统模块和文件操作\test2')
2. 登录注册系统
"""
1. 确定持久化的数据:已经注册过的所有的账号和密码
2. 创建文件(./files/users.txt)
3. 确定文件初始内容
   存储策略:[{'user': 账号1, 'pw': 账号1对应的密码}, {'user': 账号2, 'pw': 账号2对应的密码}, ...]
4. 在需要数据的时候从文件中读数据
5. 当需要持久化的数据发生了改变,必须将最新的数据再写入文件中
"""

# 注册:
def register():
    # 输入账号密码
    username = input('账号:')
    password = input('密码:')
    # 判断账号是否存在
    # 获取账号列表
    all_user = eval(open('files/users.txt',encoding='utf-8').read())     # type:list
    for x in all_user:
        if x['user'] == username:
            print('注册失败,该账号已注册!')
            break
    else:
        # 完成注册,将账号密码保存在文件中
        all_user.append({'user':username,'pw':password})
        open('files/users.txt','w',encoding='utf-8').write(str(all_user))
        print('注册成功!')

# 登录:
def login():
    # 输入账号密码
    username = input('账号:')
    password = input('密码:')
    # 获取账号密码信息
    all_user = eval(open('files/users.txt',encoding='utf-8').read())   # type:list

    # 判断账号密码是否正确
    for x in all_user:
        if username == x['user'] and password == x['pw']:
            print('登录成功!')
            return True
    print('登录失败!账号或密码有误!')
    return False


def login_system():
    page = open('files/page.txt',encoding='utf-8').read()
    while True:
        print(page)
        value = input('请选择1~2:')
        if value == '1':
            if login():
                break
        elif value == '2':
            register()
        else:
            print('输入有误!')


if __name__ == '__main__':
    login_system()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值