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 正在查看我的朋友

浙公网安备 33010602011771号