1. 程式人生 > >【Python程式設計】使用者註冊資訊v1

【Python程式設計】使用者註冊資訊v1

#!/usr/bin/env python
# -*- coding:utf-8 -*-

__Author__ = "YanZanG"
product_name = "Memorandum"

# 匯入Python內建庫及第三方庫
from  color_me import ColorMe
import os
import pickle
import re

# Welcome歡迎詞.
Welcome = ColorMe(f"Welcome to {product_name} Applets.".center(60, "=")).green()
print(Welcome)

# 獲取當前路徑
File_path = os.getcwd() os.chdir(File_path) # re正則表示式 # User_name 必須是中文 密碼必須以字母和數字組合:長度為8位-16位 User_name_re = re.compile(r"[\u4e00-\u9fa5]") User_pwd_re = re.compile(r"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$") # 使用者註冊資訊 class Memo_user(object): def __init__(self): self.User_data = ""
self.User_data_tow = {} def user_input(self): Count = True while (Count): User_name = input("Please enter your name:").strip() User_pwd = input("Please enter your password:").strip() try: if User_name_re.search(User_name)
and User_pwd_re.findall(User_pwd): self.User_data_tow["使用者名稱"] = User_name self.User_data_tow["密碼"] = User_pwd self.User_data.append(self.User_data_tow) print(ColorMe("Detecting username and password successfully!").green()) with open("User_data.pkl", "wb") as f: pickle.dump(self.User_data, f) print(ColorMe("Add username password successfully, has been saved to the database....").green()) Count = False # TODO: User_login else: print(ColorMe("User name or password input is illegal, please re-enter").red()) Count = True except Exception as f: print(f) def user_registered(self): if os.path.exists("User_data.pkl"): print(ColorMe("Read user database successfully......").green()) with open("User_data.pkl", "rb") as f: self.User_data = pickle.load(f) for i in self.User_data: a = i for k, v in a.items(): print(f"{k} : {v}") print(f"使用者 ↑".center(50, "-")) self.user_input() else: print(ColorMe("Failed to read user data, please create user first.......").red()) self.User_data = [] self.user_input() # TODO:更多功能 ' if __name__ == '__main__': A = Memo_user() A.user_registered()

ColorMe:

#!/usr/bin/env Python
#-*- coding:utf-8 -*-

__author__ = 'De8ug'

class ColorMe:
    """
    give me color see see...
    實際用起來很簡單:
        ColorMe('somestr').blue()
    """
    def __init__(self, some_str):
        self.color_str = some_str

    def blue(self):
        str_list = ["\033[34;1m", self.color_str, "\033[0m"]
        return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m"

    def green(self):
        str_list = ["\033[32;1m", self.color_str, "\033[0m"]
        return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m"

    def yellow(self):
        str_list = ["\033[33;1m", self.color_str, "\033[0m"]
        return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m"

    def red(self):
        str_list = ["\033[31;1m", self.color_str, "\033[0m"]
        return ''.join(str_list) # "\033[34;1m" + self.color_str + "\033[0m"


def main():
    ColorMe('somestr').blue()

if __name__ == '__main__':
    main()