python基础-时间模块,random模块,os模块,sys模块
时间模块
一、time
import time # 时间分为三种格式: # 1、时间戳:从1970年到现在经过的秒数 # 作用:用于时间间隔的计算 # print(time.time())
2、按照某种格式显示的时间:2020-03-30 11:11:11
作用:用于展示时间
# print(time.strftime('%Y-%m-%d %H:%M:%S %p')) # print(time.strftime('%Y-%m-%d %X'))
3、结构化的时间
作用:用于单独获取时间的某一部分
# res=time.localtime() # print(res) # print(res.tm_year) # print(res.tm_yday)
二:datetime
import datetime # print(datetime.datetime.now()) # print(datetime.datetime.now() + datetime.timedelta(days=3)) # print(datetime.datetime.now() + datetime.timedelta(weeks=1)) # 时间模块需要掌握的操作 # 1、时间格式的转换 # struct_time->时间戳 import time # s_time=time.localtime() # print(time.mktime(s_time)) # 时间戳->struct_time # tp_time=time.time() # print(time.localtime(tp_time)) # 补充:世界标准时间与本地时间 # print(time.localtime()) # print(time.gmtime()) # 世界标准时间,了解 # print(time.localtime(333333333)) # print(time.gmtime(333333333)) # struct_time->格式化的字符串形式的时间 # s_time=time.localtime() # print(time.strftime('%Y-%m-%d %H:%M:%S',s_time)) # print(time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S')) # !!!真正需要掌握的只有一条:format string<------>timestamp # '1988-03-03 11:11:11'+7 # format string--->struct_time--->timestamp # struct_time=time.strptime('1988-03-03 11:11:11','%Y-%m-%d %H:%M:%S') # timestamp=time.mktime(struct_time)+7*86400 # print(timestamp) # format string<---struct_time<---timestamp # res=time.strftime('%Y-%m-%d %X',time.localtime(timestamp)) # print(res) # time.sleep(3) # 了解知识 # import time # print(time.asctime()) import datetime # print(datetime.datetime.now()) # print(datetime.datetime.utcnow()) print(datetime.datetime.fromtimestamp(333333))
Random模块
import random # print(random.random()) #(0,1)----float 大于0且小于1之间的小数 # print(random.randint(1, 3)) # [1,3] 大于等于1且小于等于3之间的整数 # print(random.randrange(1, 3)) # [1,3) 大于等于1且小于3之间的整数 # # print(random.choice([111, 'aaa', [4, 5]])) # 1或者23或者[4,5] # # print(random.sample([111, 'aaa', 'ccc','ddd'],2)) # 列表元素任意2个组合 # # print(random.uniform(1, 3)) # 大于1小于3的小数,如1.927109612082716 # # item = [1, 3, 5, 7, 9] # random.shuffle(item) # 打乱item的顺序,相当于"洗牌" # print(item) # 应用:随机验证码 # import random # # res='' # for i in range(6): # 从26大写字母中随机取出一个=chr(random.randint(65,90)) # 从10个数字中随机取出一个=str(random.randint(0,9)) # # 随机字符=random.choice([从26大写字母中随机取出一个,从10个数字中随机取出一个]) # res+=随机字符 import random def make_code(size=4): res = '' for i in range(size): s1 = chr(random.randint(65, 90)) s2 = str(random.randint(0, 9)) res += random.choice([s1, s2]) return res print(make_code(6))
os模块
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove() 删除一个文件 os.rename("oldname","newname") 重命名文件/目录 os.stat('path/filename') 获取文件/目录信息 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为: os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix' os.system("bash command") 运行shell命令,直接显示 os.environ 获取系统环境变量 os.path.abspath(path) 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False os.path.isabs(path) 如果path是绝对路径,返回True os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间 os.path.getsize(path) 返回path的大小
import os # 获取某一个文件夹下所有的子文件以及子文件夹的名字 # res=os.listdir('.') # print(res) # # # size=os.path.getsize(r'/Users/linhaifeng/PycharmProjects/s14/day22/01 时间模块.py') # print(size) # os.remove() 删除一个文件 # os.rename("oldname","newname") 重命名文件/目录 # 应用程序----》"ls /" # os.system("ls /") # 规定:key与value必须都为字符串 # os.environ['aaaaaaaaaa']='111' # print(os.environ) # print(os.path.dirname(r'/a/b/c/d.txt')) # print(os.path.basename(r'/a/b/c/d.txt')) # print(os.path.isfile(r'笔记.txt')) # print(os.path.isfile(r'aaa')) # print(os.path.isdir(r'aaa')) # print(os.path.join('a','/','b','c','d')) # 推荐用这种 BASE_DIR=os.path.dirname(os.path.dirname(__file__)) # print(BASE_DIR) # BASE_DIR=os.path.normpath(os.path.join( # __file__, # '..', # '..' # )) # print(BASE_DIR) # 在python3.5之后,推出了一个新的模块pathlib from pathlib import Path # res = Path(__file__).parent.parent # print(res) # res=Path('/a/b/c') / 'd/e.txt' # print(res) # print(res.resolve())
sys模块
每天学习新的知识,会让自己更加充实