软件开的目录规范+sys,os,time模块

——————————————————————————————————————————————————————————————————
start.py import sys,os # print(__file__)#当前文件的一个路径 # print(os.path.abspath(__file__)) #当前文件的绝对路径
# print(os.path.dirname(os.path.abspath(__file__)))
# print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) 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()
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
src.py
def login():
print('登陆功能') def register():
print('注册')
name=input('enter your name>>: ').strip()
pwd=input('enter you password>>: ').strip()
with open(settings.DB_PATH,mode='at',encoding = 'utf-8')as f:
f.write('%s:%s \n'%(name,pwd))
f.flush()
common.logger('%s注册成功 \n'%name)
print('注册成功') def shopping():
print('购物') def transfer():
print('转账') def pay():
print('支付') funcs_dic={
'1':login,
'2':register,
'3':shopping,
'4':transfer,
'5':pay
} def run():
while True:
print("""
1.登陆 | 2.注册 | 3.购物 | 4.转账 | 5.支付 | 6.退出
""")
choice=input('>>>: ').strip()
if choice == '6':return
if choice not in funcs_dic:
print('错误,请再次输入')
continue
funcs_dic[choice]() run() _____________________________________________________________________________________________________________________________
settings.py
import os
# print(__file__) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) DB_PATH = os.path.join(BASE_DIR,'db','db.txt') #DB_PATH = r'%s\db\db.txt'%BASE_DIR LOG_PATH = os.path.join(BASE_DIR,'log','user.log.txt') # print(DB_PATH)
# print(LOG_PATH) # LOG_PATH = r'%s\log\user.log.txt'%BASE_DIR # DB_PATH = r'D:\zrg\day19\文件开发的目录规范\ATM\db\db.txt'
#
# LOG_PATH = r'D:\zrg\day19\文件开发的目录规范\ATM\log\user.log.txt' ____________________________________________________________________________________________________________________________________ common.py
import time from conf import settings def logger(msg):
current_time=time.strftime('%Y-%m-%d %X')
with open(settings.LOG_PATH,'a',encoding='utf-8')as f:
f.write('%s %s'%(current_time,msg))
f.flush() # print(time.strftime('%Y-%m-%d %X')) ___________________________________________________________________________________________________________________________
time.py
# 与时间相关的一个模块
import time # 时间分三类:
# 1.时间戳 从1970年1.1日到现在的秒数
# print(time.time()/60/60/24)
# 计算时差
# t=time.time()
# time.sleep(2)
# t1=time.time()
# print(t1-t) # 2.结构化时间
# print(time.localtime())
# 返回的是一个值,其中包含一个元组,里面是每个时间的值(东八区)
#time.struct_time(tm_year=2018, tm_mon=10, tm_mday=15, tm_hour=17, tm_min=29, tm_sec=7, tm_wday=0, tm_yday=288, tm_isdst=0) # 单独获取某个时间属性
# print(time.localtime().tm_year)
# # 2018
# print(time.localtime().tm_hour)
# # 17 # 世界同一时间,比北京时间晚了八小时
# print(time.gmtime()) # 3.格式化的字符串时间
# print(time.strftime('%Y-%m-%d %H:%M:%S'))
# print(time.strftime('%Y-%m-%d %X')) # 相互转换 # 时间戳转换成结构化
# print(time.localtime(0)) #元年 # 结构化转换成格式化的字符串 # 字符串转换为结构化 # 结构化转为时间戳 # 格林威治时间 time.asctime()
time.ctime() ____________________________________________________________________________________________________________________________ date.time.py
# 这是一个包,里面包含对事件的处理,对日期的处理
import datetime
#获取当前详细的时间
print(datetime.datetime.now())
# 获取当前时间的一部分
print(datetime.datetime.now().year) # 替换时间的某一部分
# t1=datetime.datetime.now()
# t1=t1.replace(year=2020)
# print(t1) # t1=datetime.datetime.now()
# t2=datetime.datetime.now()
# print(t2-t1)
时间差对象
tal=datetime.timedelta(days=20)
t1=datetime.datetime.now()
print(t1+tal)
软件开的目录规范+sys,os,time模块的更多相关文章
- python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)
一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...
- [软件开发的目录规范、区分py文件的两种用途]
[软件开发的目录规范] 软件开发的目录规范 bin: 执行文件 conf: 存放配置文件相关代码 core: 存放源文件,业务逻辑相关代码 db: 存放数据库文件,主要用于与数据库交互 lib: 存放 ...
- python sys os hashlib_MD5 模块
模块 内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 一.sys 用于提供对Python解释器相关的操作: ? 1 2 3 4 5 6 7 8 9 sys.ar ...
- 第十篇、模块一、sys\os\hashlib模块的应用
一.模块分为三种 1)自定义模块 2)第三方模块 3)内置模块 如何导入模块? 下面两种: 1)import 模块名字 as 别名(重新给模块命名) 2)from 模块名字 import 功能( ...
- python学习之-软件开发的目录规范
通常软件目录下有几个标准文件夹 软件主文件夹命名,通常都是大写(ATM_SHOPPING) ------------------------------------------------------ ...
- devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用
异常: Java异常: try catch块处理异常,throw引发异常. Python异常: try except块处理异常,raise引发异常. 异常如果不主动处理,则会交给Python中的缺省处 ...
- random,time,sys,os,序列化模块
random模块(随机数模块) 取随机小数: random.random() 取0-1之间的小数 random.uniform(x, y) 取x-y之间的小数 取随机整数: random.randin ...
- day21 模块与包+软件开发目录规范
目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...
- py 包和模块,软件开发目录规范
目录 py 包和模块,软件开发目录规范 什么是包? 什么是模块? 软件开发目录规范 py 包和模块,软件开发目录规范 什么是包? 包指的是内部包__init__.py的文件夹 包的作用: 存放模块,包 ...
随机推荐
- Linux下 XordDos(BillGates)木马查杀记录
最近朋友的一台服务器突然网络异常,cpu占用率暴表,登录上去一查,cpu占用300% 左右,流量异常,经过看查进程,获取信息最终确认为中了dos木马,经过几天的研究,基本上已经清除,以下是清理记录. ...
- expdp 高版本导入到低版本
低版本 往 高版本 导入,导出的时候不用加version : 高版本往低版本的时候 需要加 version expdp version (往低版本的时候 需要加 version 版本号是 impdp ...
- 流程控制之for
for循环是 迭代式循环,其强大之处在于循环取值 用法一: l = [1, 2, 3, 4, 5, 5, 6, 5, 4, 3] for x in l: print(x) info = {'} for ...
- Java连接Redis之redis的增删改查
一.新建一个maven工程,工程可以以jar的形式或war都行,然后导入正确的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0& ...
- 升级pip后出现ImportError: cannot import name main
https://blog.csdn.net/accumulate_zhang/article/details/80269313
- PAT A1112 Stucked Keyboard (20 分)——字符串
On a broken keyboard, some of the keys are always stucked. So when you type some sentences, the char ...
- 不存在具有键“xxxId”的“IEnumerable<SelectListItem>”类型的 ViewData 项
项目中的某个页面,在访问时出现以下错误: 不存在具有键“xxxId”的“IEnumerable<SelectListItem>”类型的 ViewData 项 具体的场景说明如下: 一个编辑 ...
- linux驱动编写之中断处理
一.中断 1.概念 学过单片机的应该非常清楚中断的概念,也就是CPU在正常执行程序过程中,出现了突发事件(中断事件),于是CPU暂停当前程序的执行,转去处理突发事件.处理完毕后,CPU又返回被中断的程 ...
- 判断response.data是否为空
需要对response.data进行判断,是否有数据返回.如果是空的,将要处理一些事情,反之,又要处理另外一些事情. 在jQuery程序中,有一个方法:$.isEmptyObject().此方法在an ...
- WebApi 异步请求(HttpClient)
还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 废话不多说,直接进入正题: 今天公司总部要求各个分公司把短信接口对接上,所谓的 ...