文件操作

1. 编写简易版本的拷贝工具
自己输入想要拷贝的数据路径 自己输入拷贝到哪个地方的目标路径
任何类型数据皆可拷贝
ps:个别电脑C盘文件由于权限问题可能无法拷贝 换其他盘尝试即可

① 某一个确定位置的文本文档拷贝到一个确定的位置:

with open(r'C:\Users\独孤傲\Desktop\我的文件.txt', 'r', encoding='utf8') as read_f, open(r'D:\my.txt', 'w', encoding='utf8') as write_f:
    write_f.write(read_f.read())

② 任意位置的任意类型的文件拷贝到任意位置

# 1.获取想要拷贝的文件路径
source_file_path = input('请输入您要拷贝的文件路径>>>:').strip()
# 2. 获取目标文件路径
target_file_path = input('请输入您想要存放的路径>>>:').strip()
# 3.打开第一个文件路径,读取内容写入第二个文件路径
with open(r'%s' % source_file_path, 'rb') as read_f, open(r'%s' % target_file_path, 'wb') as write_f:
    for line in read_f:
        write_f.write(line)

 

2. 利用文件充当数据库编写用户登录、注册功能

文件名称:userinfo.txt
基础要求:
用户注册功能>>>:文件内添加用户数据(用户名、密码等)
用户登录功能>>>:读取文件内用户数据做校验
ps:上述功能只需要实现一次就算过关(单用户) 文件内始终就一个用户信息
拔高要求:
用户可以连续注册
用户可以多账号切换登录(多用户) 文件内有多个用户信息
ps:思考多用户数据情况下如何组织文件内数据结构较为简单

while True:
    print("""
    1.注册功能
    2.登录功能
    """)
    # 1.定义选择编号
    choice = input('请输入您要选择的功能编号>>>:').strip()
    if choice == '1':
        # 2.输入用户名和密码
        username = input('please input your username>>>:')
        password = input('please input your password>>>:')
        # 3. 校验用户名是否已存在
        with open(r'userinfo.txt', 'r', encoding='utf8') as f:
            for line in f:
                real_name, real_pwd = line.split('|')
                if username == real_name:
                    print('用户名已存在 无法完成注册')
                    break
            else:
                with open(r'userinfo.txt', 'a', encoding='utf8') as f1:
                    f1.write(f'{username}|{password}\n')
                    print(f'用户{username}注册成功')
    elif choice == '2':
        username = input('please input your username>>>:')
        password = input('please input your password>>>:')
        with open(r'userinfo.txt', 'r', encoding='utf8') as f:
            for line in f:
                real_name, real_pwd = line.split('|')
                if real_name == username and real_pwd.strip('\n') == password:
                    print('登录成功')
                    break
            else:
                print('用户名或密码错误')
    else:
        print('没有该功能编号')

 

posted @ 2022-10-09 22:14  莫~慌  阅读(41)  评论(0编辑  收藏  举报