八月六号作业

# 1.利用文件操作写一个用户注册功能
#     获取用户输入的用户名和密码然后将它们写入文件中
"""
a = 1
while a ==1:
    while a == 1:
        user = input("请输入用户名:").strip()
        with open("user.txt",mode="r",encoding="utf-8") as f1:
            for i in f1:
                i = i.split(':',1)
                if i[0] == user:
                    print("用户名已存在")
                    break
            else:
                a = 2
    while a == 2:
        pwd1 = input("请输入密码:").strip()
        pwd2 = input("请确认密码:").strip()
        if pwd1 == pwd2:
            with open("user.txt",mode="a",encoding="utf-8") as f2:
                f2.write("%s:%s\n"%(user,pwd1))
                print("注册成功!")
                a = 0
        else:
            print("两次密码不同")
"""


# 2.利用文件操作写一个简单的拷贝程序
#     课上讲过,再看代码理解一下
'''
add = input("请输入需要拷贝的文件地址:")
f = open(r"%s2"%add,mode='w',encoding="utf-8")
f.close()
with open(r"%s"%add,mode="r",encoding='utf-8') as f1,\
    open(r"%s2"%add,mode='a',encoding='utf-8') as f2:
    for i in f1:
        f2.write(i)
'''


# 3.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
'''
def len5(a):
    if len(a) > 5:
        print("长度大于五")
        return True
    else:
        print("长度不大于5")
        return False
'''


# 扩展题:
# 1.思考如何修改文件内容
#     eg:文件内容是oscar 666
#        利用文件操作将文件内容里面的oscar修改为jason

# 方法一(耗内存,省硬盘)
'''
with open('eg',mode='r',encoding='utf-8') as f1:
    data = f1.read()
    data = data.replace('oscar','jason')
with open('eg', mode='w', encoding='utf-8') as f2:
    f2.write(data)
'''

# 方法二(费硬盘,省内存)
'''
import os
with open('eg',mode='r',encoding='utf-8') as f1,\
    open('.eg',mode='w',encoding='utf-8') as f2:
    for i in f1:
        f2.write(i.replace('oscar','jason'))
os.remove('eg')
os.rename('.eg','eg')
'''

 user.txt :

a:123
b:456
c:789

 

posted @ 2020-08-06 16:52  最冷不过冬夜  阅读(120)  评论(0)    收藏  举报