python学习_软件开发的目录规范以及示例代码(解决软件移植的路径问题)
Posted cooky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习_软件开发的目录规范以及示例代码(解决软件移植的路径问题)相关的知识,希望对你有一定的参考价值。
目录结构:
Package |------bin |------start.py |------conf |------settings.py |------core |------src.py |------db |------table.db |------lib |------common.py |------log |------transaction.log |------README
1.在src中编写核心代码
from lib import common def shopping(): print(‘购物‘) def pay(): print() common.logger(‘XXXXXXXXXX‘) def transfer(): print() def withdraw(): print(‘提现‘) func_dic={ ‘1‘: shopping, ‘2‘: pay, ‘3‘: transfer, ‘4‘: withdraw } #让用户选择启动哪个方法 def run(): while True: print(""" 0 退出 1 购物 2 支付 3 转账 4 提现 """) choice =input(‘请输入您的操作:‘).strip() if choice == ‘0‘:break if choice not in func_dic: print("输入的指令不存在,请重新输入") continue func_dic[choice]()
2.bin/start为程序启动入口
os.path.dirname(os.path.dirname(__file__))================>动态获取软件的根目录,解决移植问题
import sys import os from core import src BASE_DIR = os.path.dirname(os.path.dirname(__file__)) sys.path.append(BASE_DIR) if __name__ == ‘__main__‘: src.run()
3.conf/settings.py中设置日志路径(以及数据库路径)
同样是动态获取软件的根目录,再拼接到软件日志的指定目录,解决移植问题
import os BASE_DIR=os.path.dirname(os.path.dirname(__file__)) TRANSACTION_LOG_PATH =os.path.join(BASE_DIR, ‘log‘, ‘transaction.log‘)
4.lib/common.py中放通用的方法
from conf import settings import time def logger(msg): with open(settings.TRANSACTION_LOG_PATH,‘at‘,encoding=‘utf-8‘) as f: f.write(‘%s %s ‘ %(time.strftime(‘%Y-%m-%d %H:%M:%S‘), msg))
以上是关于python学习_软件开发的目录规范以及示例代码(解决软件移植的路径问题)的主要内容,如果未能解决你的问题,请参考以下文章
Selenium_python自动化第一个测试案例(代码基本规范)