——————————————————————————————————————————————————————————————————

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模块的更多相关文章

  1. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)

    一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...

  2. [软件开发的目录规范、区分py文件的两种用途]

    [软件开发的目录规范] 软件开发的目录规范 bin: 执行文件 conf: 存放配置文件相关代码 core: 存放源文件,业务逻辑相关代码 db: 存放数据库文件,主要用于与数据库交互 lib: 存放 ...

  3. python sys os hashlib_MD5 模块

    模块 内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 一.sys 用于提供对Python解释器相关的操作: ? 1 2 3 4 5 6 7 8 9 sys.ar ...

  4. 第十篇、模块一、sys\os\hashlib模块的应用

    一.模块分为三种 1)自定义模块 2)第三方模块 3)内置模块 如何导入模块? 下面两种: 1)import 模块名字  as 别名(重新给模块命名) 2)from  模块名字  import 功能( ...

  5. python学习之-软件开发的目录规范

    通常软件目录下有几个标准文件夹 软件主文件夹命名,通常都是大写(ATM_SHOPPING) ------------------------------------------------------ ...

  6. devi into python 笔记(五)异常 文件操作 sys os glob模块简单实用

    异常: Java异常: try catch块处理异常,throw引发异常. Python异常: try except块处理异常,raise引发异常. 异常如果不主动处理,则会交给Python中的缺省处 ...

  7. random,time,sys,os,序列化模块

    random模块(随机数模块) 取随机小数: random.random() 取0-1之间的小数 random.uniform(x, y) 取x-y之间的小数 取随机整数: random.randin ...

  8. day21 模块与包+软件开发目录规范

    目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...

  9. py 包和模块,软件开发目录规范

    目录 py 包和模块,软件开发目录规范 什么是包? 什么是模块? 软件开发目录规范 py 包和模块,软件开发目录规范 什么是包? 包指的是内部包__init__.py的文件夹 包的作用: 存放模块,包 ...

随机推荐

  1. nat表使用

    Net Address Translation 网络地址转换 IP地址 私网IP:nat技术将私网IP转换公网IP 公网IP: iptables nat表:三条链 主要用PREROUTING,POST ...

  2. Kubernetes1.91(K8s)安装部署过程(八)-- kubernetes-dashboard安装

    kubernets-dashboard顾名思义是操作面板安装,也就是可视化管理机器,同意我们用镜像结合配置文件部署. 1.下载镜像: docker pull registry.docker-cn.co ...

  3. Qt5中的lambda表达式和使用lambda来写connect

    c11新特性中加入了lambda表达式,所以Qt 也支持 需在.pro文件中加入 CONFIG += c++11 例子: QString program = "C:/Windows/Syst ...

  4. 【Codeforces 650 D】Zip-line

    题意:给一个序列以及\(n\)个查询,每一个查询是问(假装)把第\(a_i\)个数改为\(b_i\)之后原序列的最长上升子序列的长度. 思路:线段树优化\(dp\). 肯定离线做啊. 首先我们考虑\( ...

  5. struts2中ajax的使用

    前面写过原生js实现ajax的博客,但是用起来不是太方便,jquery对原生的js进行了很好的封装,使用起来也更简单:但是在项目中使用了struts2,处理ajax却又不同,花了几天时间研究,终于解决 ...

  6. ESP8266使用详解(AT,LUA,SDK)

    https://www.cnblogs.com/yangfengwu/p/10100152.html             8266综合开发教程(LUA) https://www.cnblogs.c ...

  7. 深入理解 JVM(上)

    菜鸟拙见,望请纠正(首先:推荐一本书[链接:https://pan.baidu.com/s/15I062n5LPYtRmueAAUFuFA 密码:kyo1]) 一:JVM体系概述 1:JVM是运行在操 ...

  8. mysql的聚簇索引与非聚簇索引的简短总结

    [原文]https://www.jianshu.com/p/72763d47aa1a 在mysql数据库中,myisam引擎和innodb引擎使用的索引类型不同,myisam对应的是非聚簇索引,而in ...

  9. 浅谈JS的作用域链(二)

    上一篇文章中介绍了Execution Context中的三个重要部分:VO/AO,scope chain和this,并详细的介绍了VO/AO在JavaScript代码执行中的表现. 本文就看看Exec ...

  10. 个人作业week7——前端开发感想总结

    个人作业week7——前端开发感想总结 1. 反思 首先要谈谈在这次团队项目的工作中,我这边出现过的较为严重的一个问题:我和HoerWing (后端担当)合作时,最初因为我没有使用github(始终连 ...