常用模块与项目目录规范

常用模块(一)

time模块  #用之前先导入import time

1、time.time()  #时间戳

  --print(time.time())    #1557226631.794335(现在到1970年的秒数)

2、time.sleep()  #延迟线程

  --print(time.sleep(3))  #延迟3秒的线程

3、time.localtime()  # 当地时区的时间

  --print(time.localtime())  (tm_year=2019.......)

  --print(time.localtime().tm_wday)  #可以单独把星期拿出来查看

4、time.gmtime()    #格林威治时间

  --print(time.gmtime())  

5、time.stftime('%Y-%m-%d %H:%M%S',(上面获取的时间,里面有九个参数))  #格式化时间

  --print(time.stftime('%Y-%m-%d %H:%M%S',(2019.......)))  # 2019-05-07 05:15:54

  --格式化里面的%什么代表什么都是规定好的,详细在下面

'''
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
'''
View Code

calendar模块

1、calender.isleap(year)  #判断是否是闰年

2、calender.month(year,mouth)  #查看某年某月的日历

3、calender.monthrange(year,mouth)  #查看某年某月的起始星期与当月天数

4、calender.weekday(year,month,day)  #查看某年某月某日是星期几

datetime模块

1、datetime.datetime.now()  #当前的时间  返回的是 2019-05-08 13:11:11.842866 

2、datetime.datetime.now() + datetime.timedelta(day = -1)  

    --#昨天的时间,datetime模块可以进行时间运算,括号里-1就减一天

3、datetime_obj.replace()  #更改时间,你可以在括号里更改相对应的时间(前面是一个时间对象)

4、datetime.date.fromtimestamp(timestamp)

    --#括号里面是时间戳,可以把时间戳固定成为年月日的格式  2019-05-08

    --#所以改时间戳比较靠后的值对格式化出来的时间没有影响

sys模块(系统)

1、sys.argv  #当py文件作为脚本文件执行时,在外界传入参数可以被sys.argv接收

    --sys.argv本质是一个列表,如果不传参,里面只有执行文件的绝对路径,传参都会按顺序append进去

2、sys.path  #环境变量,一般在导入模块或者包的时候才关心

    --在执行文件中导入模块或者包,都会在sys.path列表中路径下按顺序去查找有没有对应名字的模块或者包

***************************************************************************************************

3、sys.exit()  #退出系统,括号里是0表示正常退出,其他都代表某一种异常退出

4、sys.version  #获取python解释器的版本信息

5、sys.maxsize I sys.maxint  #获取最大int值,py3里不支持后者

6、sys.platform  #操作系统平台名称,windows都是win32

os模块(操作系统)

1、os.mkdir('dirname')  #生成单级目录,即使是绝对路径,也只是创建最后一个目录,如果输入的路径找不到就会报错

2、os.makedirs('dirname1dirname2.....dirnamen')  #生成多级目录,遇到不存在的就会创建一个文件夹

3、os.remove()    # 删除文件 

4、os.rmdir()       #删除单级空目录

5、os.removedirs()  #删除多级空目录,本质是迭代删除,删完一个空目录返回上一个目录,如果是空接着删接着返,

           #不是空就删不掉

6、os.listdir('dirname')  # 列举当前目录下的所有资源

  ---注:以上方法括号里都写绝对路径(防止作为py文件不在pycharm里运行)

 ***************************************************************************************************

7、os.rename('oldname','newname')  #文件的重命名

8、os.getcwd()  #获得当前的工作目录    不常用   --通常用下面操作路径的方法

9、os.sep    #路径分隔符

10、os.linesep  #行终止分隔符

11、os.pathsep  #文件分隔符

12、os.environ  #操作系统的环境变量  --一个大的字典

13、os.system()  #执行shell脚本  --模拟在cmd命令窗口执行命令

os.path模块(系统路径操作)

1、__file__  #执行文件的当前路径

  --print(__file__)    #返回  F:/pyprogram/day19/part3/pickle模块.py

2、os.path.split(path)  #将path最后一级名称与之前名称切分开来,形成一个元组,可以索引取值

3、os.path.dirname(path)  #返回上一级目录,经常和__file__连用找出根目录,而不是直接把根目录写死

4、os.path.exists(path)  #判断括号里的绝对路径是否存在,存在返回True

5、os.path.isfile(path)   #判断括号里的绝对路径是不是文件,是文件返回True

6、os.path.isdir(path)    #判断括号里的绝对路径是不是文件夹,是文件夹就返回True

7、os.path.join(path1,path2...)  #可以把括号里的路径全部拼接起来,形成一个新的绝对路径

 ***************************************************************************************************

8、os.path.abspath(path)  #返回规范化的绝对路径

9、os.path.basename(path)  #返回最后一级名称

10、os.path.isabs(path)  #判断是否是绝对路径

11、os.path.getatime(path)  #最后存取的时间

12、os.path.getmtime(path)  #最后修改的时间

13、os.path.getsize(path)  #获取目标大小

14、normcase函数  os.path.normcase(path)  #windows上大写换成小写,斜杆换成反斜杠

15、normpath函数   os.path.normpath(path)  #规范化路径   F:pyprogramday19part3a

跨文件夹移动文件

  --主体思想就是先在想要移动的位置创建一个与原文件同名的文件,然后复制原文件到新文件,最后删除原文件

# 案例
import os
import sys
BASE_DIR = os.path.dirname(__file__)
sys.path.append(BASE_DIR)               # 获得根目录并把它添加到环境变量里

def move_file(file,folder):
    if not os.path.exists(file):    # 判断如果原文件不存在直接退出
        return
    if not os.path.isfile(file):    # 判断不是文件就退出
        return
    with open(file,'rb') as rf,open(folder,'wb') as wf:     # 复制
        for line in rf:
            wf.write(line)
    os.remove(file)                 # 文件复制完,删除原文件

file = os.path.join(BASE_DIR,'1.txt')   # 获得想要移动的文件的绝对路径
base_file = os.path.split(file)[1]      # 获得文件的名字
folder = os.path.join(BASE_DIR,'part1',base_file)    # 拼凑出想要移动后位置的绝对路径
move_file(file,folder)

递归删除的思路

def delete_dir(folder):

  for path in os.listdir(folder):

    #如果path是文件夹  delete_dir(path)  接着调用函数

    #如果是path是文件 os.remove(path)  删除文件

  rmdir(folder)  #如果for循环走完了,就代表folder内部被删空了,就可以删除folder了

项目开发规范

  --一般项目都有如下的文件夹

ATM

  --bin:可执行文件

  --core:核心代码

  --db:数据库

  --setting:配置

  --lib:公用模块

  --log:日志

  --static:静态资源

  --interface:接口

原文地址:https://www.cnblogs.com/hesujian/p/10827427.html