常用模块(一)
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
--格式化里面的%什么代表什么都是规定好的,详细在下面
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
'''%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 当前时区的名称%% %号本身'''
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('dirname1\dirname2.....\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:\pyprogram\day19\part3\a
跨文件夹移动文件
--主体思想就是先在想要移动的位置创建一个与原文件同名的文件,然后复制原文件到新文件,最后删除原文件
# 案例import osimport sysBASE_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:接口