软件开发目录规范

start.py
# import sys,os
# #os.path.abspath(__file__) # 取当前路径的绝对路径
#
#
# print(os.path.abspath(__file__))
# # /Users/sg/PycharmProjects/py-study/ATM/bin/start.py
#
# print(os.path.dirname(os.path.abspath(__file__)))
# # /Users/sg/PycharmProjects/py-study/ATM/bin

# print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# # /Users/sg/PycharmProjects/py-study/ATM
# 定义ATM的路径作为起始路径,方便各个模块之间的变量导入


import os,sys
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

from core import src
if __name__ == '__main__':
    src.run()


setting.py
# 定义各个模块的路径
import os
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 以上路径为/Users/sg/PycharmProjects/py-study/ATM

LOG_PATH=os.path.join(BASE_DIR,'log','access.log')
DB_PATH=os.path.join(BASE_DIR,'db','user')

或
DB_PATH=r'%s/db/db.txt' %BASE_DIR
LOG_PATH=r'%s/log/user.log' %BASE_DIR


# print(LOG_PATH)
# # /Users/sg/PycharmProjects/py-study/ATM/log/access.log
#
# print(DB_PATH)
# # /Users/sg/PycharmProjects/py-study/ATM/db/user


src.py
from lib import common
def shop():
    print('购物。。。')

def check_balance():
    print('查看余额。。。')

def transfer_accounts():               
    print('转账。。。')
    log_msg='转账了一个亿'                  #定义了日志输出
    common.logger(log_msg)



def  run():
    msg='''
    1 购物
    2 查看余额
    3 转账
    '''

    while True:
        print(msg)
        choice=input('>>:').strip()
        if not choice:continue
        if choice == '1':
            shop()
        elif choice == '2':
            check_balance()
        elif choice == '3':
            transfer_accounts()

另一参考版本---------------------------------
from conf import  setting
# from lib import common
# 
# def login():
#     count=0
#     while True:
#         name=input('name:').strip()
#         password=input('password:').strip()
#         res=common.select(name)
#         if name==res[0] and password==res[1]:
#             print('%s 登录成功' %name)
#         else:
#             print('用户名或密码输入错误')
#             count+=1
#         if count == 3:
#             print('输入错误次数过多!')
#             break
# 
# 
# 
# def register():
#     name = input('name:').strip()
#     password = input('password:').strip()
#     with open(setting.DB_PATH,'a',encoding='utf-8') as f:
#         f.write('%s:%s\n' %(name,password))
#         common.logger('%s 注册成功\n' %name)
#         print('注册成功')
# 
# 
# def shopping():
#     pass
# 
# def pay():
#     pass
# 
# def transfer():
#     pass
# 
# func_dir={
#     '1':login,
#     '2':register,
#     '3':shopping,
#     '4':pay,
#     '5':transfer
# }
# 
# 
# def run():
#     while True:
#         print('''
#         1 登录
#         2 注册
#         3 购物
#         4 付款
#         5 转账
#         6 退出
#         ''')
#         choice=input('输入编号:').strip()
#         if choice == '6':break
#         if choice not in func_dir:
#             print('非法输入')
#             continue
#         func_dir[choice]()
common.py
# 定义日志输出文件路径
from conf import settings

def logger(msg):
    with open(settings.LOG_PATH,'a',encoding='utf-8') as f:
        f.write('%s\n' %msg)

参考另一版本------------
# import time
# from conf import  setting
# 
# 
# def logger(msg):
#     current_time=time.strftime('%Y-%m-%d %X')
#     with open(setting.LOG_PATH,'a',encoding='utf-8') as f:
#         f.write('%s %s' %(current_time,msg))
# 
# def select(name):
#     with open(setting.DB_PATH, 'r', encoding='utf-8') as f:
#         for line in f:
#             info=line.strip('\n').split(':')
#             return info

执行start.py验证
/usr/local/bin/python3 /Users/shiheng/PycharmProjects/py-study/ATM/bin/start.py

    1 购物
    2 查看余额
    3 转账
    
>>:3
转账。。。

    1 购物
    2 查看余额
    3 转账
    





查看access.log内容为:
转账了一个亿

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容