python文件操作+实例(2017-8-6)

常用写入方式及指针位置

r+,读写:(最常用的)
  读,0开始读取
  写,指针的位置开始写
  先读,最后追加
  主动seek,写从当前指针向后写
w+
x+
a+,追加
  打开时指针直接到最后
  读,最后位置读取
  写,先读,最后追加
  无论你怎调位置,写的时候直接写到最后

 


文件操作

 

  trunkcate,截取前面

  read
    read(1):无b,字符
    read(1):有b,字节
  write
    str :无,字符串
    bytes :有,字节

   readline
    只读一行
    第一次执行readline读第一行,第二次执行readline读第二行

  readlines
    列表,列表的第一个元素是第一行,列表的第二个元素是第二行
    ["第一行","第二行",....]


  xreadlines: 2.7
    for line in f.xrealine():
      line

   f = open()
    for i in f:
    print(i)


flush
强行刷入硬盘

close

tell() 获取指针位置
seek() 跳转到某个位置


with open(xxx) as f:
print()


with open(xxx) as f1 ,open(xxx) as f2:

write和read可能不是同一个指针



利用函数进行用户登录验证

    def login(username,paaword):
        """
        用于用户名和密码的验证
        :param username:用户名
        :param paaword:密码
        :return:True,用户验证成功;False,用户验证失败
        """
        f = open("users", "r", encoding="utf-8")
        for line in f:
            line = line.strip()  # 清除换行符
            # 无参数时移除两侧空格,换行符
            # 有参数时移除两侧指定的字符
            line_list = line.split("$")
            if line_list[0] == uer and line_list[1] == pwd:
                # print("成功")
                return True
        return False


    uer = input("请输入用户名")
    pwd = input("请输入密码")


    if login(uer,pwd):
        print("成功")
    else:
        print("失败")
View Code

 


用户登录,增加注册功能

    def login(username,password):
        """
        用于用户名和密码的验证
        :param username:用户名
        :param paaword:密码
        :return:True,用户验证成功;False,用户验证失败
        """
        f = open("users", "r", encoding="utf-8")
        for line in f:
            line = line.strip()  # 清除换行符
            # 无参数时移除两侧空格,换行符
            # 有参数时移除两侧指定的字符
            line_list = line.split("$")
            if line_list[0] == username and line_list[1] == password:
                # print("成功")
                return True
        return False

    def register(username,password):
        """
        注册用户
        1、打开文件
        2、用户名$密码
        :param username:用户名
        :param password:密码
        :return:True:注册成功;
        """
        with open("users","a",encoding="utf-8") as f:
            temp ="\n" + username + "$" + password
            f.write(temp)
            return True

    def user_exist(username):
        """
        检测用户名是否存在
        :param username:要检测的用户名
        :return: True:用户名存在;False:用户名不存在
        """
        #一行一行的去查找,如果用户名存在,return True:False
        with open("users","r",encoding="utf-8") as f:
            for line in f:
                line = line.strip()
                line_new = line.split("$")
                if line_new[0] == username:
                    return True
            return False

    def main():
        while True:
            print("欢迎登录xxx系统")
            arg = input("1:登录,2:注册")

            if arg == "1":
                uer = input("请输入用户名")
                pwd = input("请输入密码")
                if login(uer,pwd):
                    print("成功")
                    break
                else:
                    print("失败")
            elif arg == "2":
                user = input("请输入用户名")
                pwd = input("请输入密码")
                is_exist = user_exist(user)
                if is_exist:
                    print("用户名已经存在,注册失败")
                else:
                     if register(user,pwd):
                         print("注册成功")
                         continue
                     else:
                         print("注册失败")
            else:
                print("输入错误,请重新输入")

    main()
View Code

 

posted @ 2017-10-14 15:11  BD-ld-2017  阅读(148)  评论(0)    收藏  举报