代码改变世界

Python学习笔记1:用户登录

2018-05-13 14:37  一觉天亮  阅读(279)  评论(0编辑  收藏  举报
 1 import getpass,sys
 2 u=0
 3 while  u< 3:
 4         user_name = input('Please input you name:')
 5 #       user_passwd = getpass.getpass('Please input you password:')
 6         lock_file = open('C:/安装包/pycharm/day01/user_lock.txt','r+')
 7         lock_line = lock_file.readlines()
 8         for lock in lock_line:
 9                 user_lock = lock.strip('\n')
10                 if user_name == user_lock:
11 #                        print('%s is lock!' % user_name)
12                         sys.exit('%s is lock!' % user_name)
13         list_file = open('C:/安装包/pycharm/day01/user_list.txt','r')
14         list_line = list_file.readlines()
15         for list in list_line:
16                 (user_list,passwd_list) = list.strip('\n').split()
17                 if user_name == user_list:
18                         i = 0
19                         while i < 3:
20                                 user_passwd = getpass.getpass('Please input you password:')
21                                 if user_passwd == passwd_list:
22                                         sys.exit('%s welcome to www.hao123.com' % user_name)
23                                 print('Please enter again!')
24                                 i += 1
25                         else:
26                                 lock_file.write(user_name+'\n')
27                                 sys.exit('Sorry,%s is locking. please contact the administrator')
28 #                print('Sorry, %s not exsit!')
29         list_file.close()
30         lock_file.close()
31         u += 1
32 sys.exit('input error!!!')

####

1.windows下绝对路径:

windows读取文件可以用\,但在字符串里面\被作为转义字符使用,那么python在描述路径时有两种方式:'d:\\a.txt',转义的方式;r'd:\a.txt',声明字符串不需要转义

C:\Users\Administrator\Desktop\python\t1.txt  这个路径绝对会报错,因为 \t被转义了;python就会解析为C:\Users\Administrator\Desktop\python 1.txt  这个时候肯定会报错的。若果你改成【C:/Users/Administrator/Desktop/python/t1.txt】的写法就不会报错啦(推荐使用此写法“/",可以避免很多异常)。
2.open文件后,需要close;否则会有编辑文件时无法保存的情况
3. \是转义的意思,'\n'是换行,'\t'是tab,'\\'是\
4.文件拼接  , 或者 +
5.format输出: %s 字符串;%d 整数  %f 浮点数  %x 十六进制