python学习笔记DAY10(目录规范练习)

这是我个人的学习笔记,都赖于(egon老师)的分享,以下是老师博客的原地址:
https://www.cnblogs.com/xiaoyuanqujing/articles/11640888.html

软件目录规范练习

README(软件说明文档)

软件定位:
1.转账系统
简要说明:
1.用户密码登录
2.选择要办的业务
3.业务办理成功

bin 文件夹 (放可执行文件)

​ start.py

# 这个启动文件
import sys     # 为了给环境变量增加路径
import os      # 为了使用os下的提取文件上一级路径的功能
BASE_DIR = os.path.dirname(os.path.dirname(__file__))  # 取当前文件上上层的文件夹的绝对路径
sys.path.append(BASE_DIR)  # 把程序的最顶级文件夹路径 添加 到环境变量里,之下的所有文件夹都可以互相引用

from core.src import run             # 导入运行主流程代码
from db.db_handle import check       # 导入运行验证身份的代码

check()       # 先调用验证身份代码,如果通过在继续运行
run()		  # 运行主流程代码

conf 文件夹 (存放配置文件)

​ setting.py

# 这是配置文件
import os        # 为了使用os下的提取文件上一级路径的功能 

F_DIR = os.path.dirname(os.path.dirname(__file__))  # 取当前文件上上层的文件夹的绝对路径

LOG_PATH = fr"{F_DIR}\log\user_log.txt"   # 获取到日志文件的路径

DB_PATH = fr"{F_DIR}\db\username.txt"     # 获取到数据库文件的路径

core文件夹 (存放核心逻辑文件)

​ src.py

# 这是核心代码逻辑文件

from lib.common import logger   # 导入(自定义模块)记录日志的功能

def myfirend():                 # 查看朋友的功能
    print("正在查看我的朋友")
    logger("nida 正在查看我的朋友")# 每运行一次,往日志添加一个记录
def myfamily():
    print("正在查看我的家人")
    logger("nida 正在查看我的家人")

def mybook():
    print("正在查看我的笔记")
    logger("nida 正在查看我的笔记")

def mymsg():
    print("正在查看我的消息")
    logger("nida 正在查看我的消息")

dic = {
    "0":["退出",None],
    "1":["1看我的朋友",myfirend],
    "2":["查看我的家人",myfamily],
    "3":["查看我的笔记",mybook],
    "4":["查看我的消息",mymsg]
}

def run():                          # 主流程代码
    while True:
        for i in dic:
            print(i,dic[i][0])
        res = input("请输入您要执行的操作=====>").strip()
        if not res.isdigit():
            print("请输入数字")
            continue
        if res == "0":
            print(dic[res][0])
            break
        if res in dic:
            dic[res][1]()
            break
        else:
            print("没有对应页面")
            break

db文件夹 (存放数据库相关文件)

​ db_handle.py

# 这是与数据库相关的文件
from conf.setting import DB_PATH   # 导入数据库文件的地址


def check():                       # 核对用户输入是否存在于数据库中的代码
    username = input("请输入您的用户名====>")
    userpwd = input("请输入您的密码====>")
    with open(DB_PATH,mode="rt",encoding="utf-8") as f:
        for line in f:
            name,pwd = line.strip("\n").split(":")
            if username == name and userpwd == pwd :
                print("登录成功")
                break
        else:
            print("登录失败")
            exit()

if __name__ == '__main__':
    check()
else:
    pass

​ username.txt(数据库文件)

nida:123456
yaoyao:123456
lili:123456

lib文件夹 (存放自定义模块)

​ common.py

# 这是自定义模块
import time
from conf.setting import LOG_PATH

def logger(msg):   # 拿到每次运行代码收到的信息,放入日志文件
     with open(LOG_PATH,mode="at",encoding="utf-8") as f:   # 日志路径需要运行进行配置
         f.write(f"{time.strftime('%Y-%m-%d %H:%M:%S')},{msg}\n")

log文件夹 (存放日志文件)

​ user_log.txt

2021-05-07 13:08:10,nida 正在查看我的家人
2021-05-07 13:08:18,nida 正在查看我的朋友
2021-05-07 13:13:25,nida 正在查看我的朋友
2021-05-07 14:56:47,nida 正在查看我的朋友
posted @ 2021-05-07 15:41  nida  阅读(67)  评论(0)    收藏  举报