# import time # print(time.time()) #秒数 # print('开始下载') # time.sleep(2) # print('下载完成') # print(time.localtime()) # 东八区上海 time.struct_time(tm_year=2019, tm_mon=4, tm_mday=10, tm_hour=14, tm_min=32, tm_sec=22, tm_wday=2, tm_yday=100, tm_isdst=0) # print(time.localtime()[l]) # 4 # print(time.localtime().tm_year) #2019 年 # print(time.gmtime()) # utc时区 time.struct_time(tm_year=2019, tm_mon=4, tm_mday=10, tm_hour=6, tm_min=36, tm_sec=50, tm_wday=2, tm_yday=100, tm_isdst=0) # print(time.localtime(298999)) #time.struct_time(tm_year=1970, tm_mon=l, tm_mday=4, tm_hour=19, tm_min=3, tm_sec=19, tm_wday=6, tm_yday=4, tm_isdst=0) # print(time.localtime(time.time())) #time.struct_time(tm_year=2019, tm_mon=4, tm_mday=10, tm_hour=14, tm_min=41, tm_sec=11, tm_wday=2, tm_yday=100, tm_isdst=0) # print(time.localtime(2018).tm_year) #1970 # res=time.strftime('%y_%m_%d %j days') #19_04_10 100 days # res=time.strftime('%Y_%m_%d %j days') #2019_04_10 100 days # print(res) # t=(2010,4,10,10,29,22,2,200,0) # res=time.strftime('%y_%m_%d %j days',t) # 如果不传t 默认是time.localtime() 10_04_10 200 days # print(res) # 需求:输入一个年份,判断其是否是闰年 # while True: # year=int(input('year:')) # b1=year %400 ==0 # b2 =year % 4 ==0 and year %100 != 0 # if b1 or b2: # print('是闰年') # else: # print('不是闰年') ''' 判断闰年:calendar.isleap(year) 查看某年某月日历: calendar.month(year,month) 查看某年某月起始星期与当月天数: calendar.monthrange(year,month) 查看某年某月某日是星期几: calender.weekday(year,month,day) ''' import calendar # print(calendar.isleap(2019)) False # print(calendar.month(2019,4)) 日历 April 2019 # Mo Tu We Th Fr Sa Su # l 2 3 4 5 6 7 # 8 9 10 11 12 13 14 # 15 16 17 18 19 20 21 # 22 23 24 25 26 27 28 # 29 30 # print(calendar.monthrange(2019,4)) #(0, 30) 0星期一 30天 # print(calendar.weekday(2018,9,9)) # 6 星期天 ''' 当天时间: datetime.datetime.now() 昨天:datetime.datetime.now()+datetime.timedelta() 修改时间:c_time.replace([...]) 格式化时间戳:datetime.date.fromtimestamp(timestamp) ''' # import datetime #时间加减 # tm=datetime.datetime.now() # print(tm,type(tm)) #2019-04-10 15:21:20.222756 <class 'datetime.datetime'> # import time # print(type(time.time())) #<class 'float'> # import datetime # day=datetime.timedelta(days=l) # print(day,type(day)) #l day, 0:00:00 <class 'datetime.timedelta'> # tm 与day都是对象,可以直接做运算 # print(tm-day) #2019-04-09 15:21:20.222756 # tm是对象,还可以接着调用方法 # print(tm.replace(year=2100)) #2100-04-10 15:23:32.663331 # # print(datetime.date.fromtimestamp(5656565653)) # 2149-04-01 需要时间戳 ''' import sys # print(sys.argv) #['E:/代码存放位置/第四周/time os sys json pickle.py'] 命令行参数List,第一个元素是程序本身路径 # print(sys.path) # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 # print(sys.version) #获取python解释程序的版本信息 # print(sys.maxsize) #最大的整数值 # a=908878788778787877 # print(a,type(a)) #908878788778787877 <class 'int'> # print(sys.platform) #返回操作系统平台名称 win32 ''' ''' import os os.mkdir('dirname') 生成单级目录 os.makedirs('dirname1/..../dirname2') 生成多层目录 os.rename('oldname','newname') 重命名文件、目录 os.getcwd() 工作目录 os.rmdir('dirname') 删除单层空目录 os.removedirs('dirname1/.../dirname2') 移除多层空目录 若目录为空则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.listdir('dirname') 列举目录下所有资源 os.sep 路径分隔符 os.linesep 行终止符 os.pathsep 文件分隔符 分隔文件路径的字符串 win下为; linux下为: os.name 操作系统名 os.environ 操作系统环境变量 os.system() 执行shell脚本 ''' # import os # print(os.getcwd()) #E:\代码存放位置\第四周 当前工作目录 # print(__file__) #E:/代码存放位置/第四周/time os sys json pickle.py 当前工作的文件绝对路径 # os.mkdir('aaa') #生成单级目录 不存在创建 存在报错 # os.rename('aaa','222') #重命名 不存在报错,存在则修改名字 # os.remove('333.py') #删除文件 不是文件夹 # os.rmdir(r'E:\代码存放位置\第四周\222') # 删除文件夹 # os.rmdir('aaa/bbb') #删除的是aaa下面的bbb # os.rmdir('aaa') # os.remove('aaa/bbb.py') #删除的是aaa下面的bbb.py文件 # os.rmdir('aaa') # os.rmdir('a/b/c') # os.mkdir('a/b/c') #a,b必须存在 c必须不存在 # os.makedirs('aa/bb/cc') #全存在,则报错 a,b 存在与否不是一定的 # os.removedirs('a/b/c') #必须全部存在 c空删c b空 删b 以此类推,如果b不为空,删除c后就停止操作 # print(os.sep) #\ 路径分隔符 # print(ascii(os.linesep)) #'\r\n' 输出当前平台使用的行终止符 # print(os.pathsep) # 输出用于分隔文件路径的字符串; # print(os.system('dir')) #运行shell命令,直接显示 # res=os.listdir(r'D:') # print(res) #打印d目录下所有文件和子目录 包括隐藏文件 并以列表形式打印 # print(os.name) #操作系统名字 win nt ''' 执行文件的当前路径:_file__ 返回path规范化的绝对路径:os.path.abspath(path) 将path分割成目录和文件名二元组返回:os.path.splir(path) 上一级目录:os.path.dirname(path) 最后一级名称:os.path.basename(path) 指定路径(目录、文件)是否存在:os.path.exists(path) 是否是绝对路径:os.path.isabs(path) 是否是文件:os.path.isfile(path) 是否是(目录)路径:os.path.isdir(path) 路径拼接:os.path.join(path1[,path2[,...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 最后存取时间:os.path.getatime(path) 最后修改时间:os.path.getmtime(path) 目标大小:os.path.getsize(path) ''' # import os.path as os_path # print(os_path) # print(os_path.isdir(r'E:\代码存放位置\第四周\time os sys json pickle.py')) # F如果path是一个存在的目录 返回 Ture 否则返回False # print(os_path.isfile(r'E:\代码存放位置\第四周\time os sys json pickle.py')) #T 如果path是一个存在文件,返回Ture 否则返回False # print(os_path.exists(r'E:\代码存放位置\第四周\time os sys json pickle.py')) # T 如果path存在,返回True;如果path不存在,返回False # print(os_path.isdir(r'E:\代码存放位置\第四周')) # T 如果path是一个存在的目录 返回 Ture 否则返回False # print(os_path.isfile(r'E:\代码存放位置\第四周')) #F 如果path是一个存在文件,返回Ture 否则返回False # print(os_path.exists(r'E:\代码存放位置\第四周')) # T 如果path存在,返回True;如果path不存在,返回False # print(os_path.exists(r'aa')) #True # print(os_path.isabs(r'aa')) #False path是绝对路径返回Ture # print(os_path.isabs(r'E:\代码存放位置\第四周\aa')) #True # print(os_path.abspath(r'aa')) #E:\代码存放位置\第四周\aa 返回path规范化的绝对路径 import os # print(os.path.split(r'E:\代码存放位置\第四周\time os sys json pickle.py')) # 右切分 ('E:\\代码存放位置\\第四周', 'time os sys json pickle.py') # print(os.path.split(r'D:/fullstack_s4/day17/代码/part1/系统模块.py')) # ('D:/fullstack_s4/day17/代码/part1', '系统模块.py') # print(os.path.split(r'D:\fullstack_s4\day17\代码\part1')) # ('D:\\fullstack_s4\\day17\\代码', 'part1') # print(os.path.split(r'D:\fullstack_s4\day17\代码\part1\\')) # ('D:\\fullstack_s4\\day17\\代码\\part1', '') # print(os.path.dirname(os.path.dirname(r'D:\fullstack_s4\day17\代码\part1\a\b'))) # D:\fullstack_s4\day17\代码\part1 # print(os.path.basename(r'D:\fullstack_s4\day17\代码\part1\a\b')) # b # print(os.path.join(r'D:\fullstack_s4\day17\代码\part1', 'a', 'b')) # D:\fullstack_s4\day17\代码\part1\a\b # 先将项目的根目录设置为常量-》项目中的所有目录与文件都应该参照目录进行导包 # BASE_PATH=os.path.dirname(os.path.dirname(__file__)) # print(BASE_PATH) #E:/代码存放位置 # sys.path.append(BASE_PATH) # 重点:将项目目录添加至环境变量 # 拼接项目中某一文件或文件夹的绝对路径 # file_path=os.path.join(BASE_PATH,'part1','时间模块.py') # print(file_path) #E:/代码存放位置\part1\时间模块.py # print(os.path.exists(file_path)) # print(os.path.getmtime(r'D:\fullstack_s4\day17\代码\part1\时间模块.py')) # 最后修改时间 # >>>os.path.normcase('c:/windows\\system32\\') # 'c:\\windows\\system32\\' # 在Linux和mac平台上,该函数会原样返回path,在win平台上会将路径中虽有字符转为小写,并将所有斜杠转换成双斜杠 # 重点: # import os # import sys # BASE_PATH=os.path.dirname(os.path.dirname(__file__)) # sys.path.append(BASE_PATH) # BASE_PATH=os.path.normpath(os.path.join(__file__,'..','..')) # sys.path.append(BASE_PATH) # 序列化 import json # 将json类型的对象与json类型的字符串相互转换 # {}与[]嵌套型成的数据(python中建议数据的从{}开始) dic = { 'a': 1, 'b': [1, 2, 3, 4, 5] } # 序列化:将python的字典转化为字符串传递给其他语言或保存 # json_str = json.dumps(dic) # print(json_str, type(json_str)) # {"a": l, "b": [l, 2, 3, 4, 5]} <class 'str'> with open('l', 'w', encoding='utf-8')as w: json.dump(dic, w) # 先将dic对象转化为字符串,在写入文件 # 反序列化 # json_str='''{"a":l,"b":['l',2,3,4,5]}''' #'l' # json_str = "{'a': l, 'b': [l, 2, 3, 4, 5]}" #'a' # json_str = '''{"a": l, "b": [l, 2, 3, 4, 5]}''' # new_dic=json.loads(json_str) #json类型的字符串不认识 '' # print(new_dic,type(new_dic)) #将字符串转成字典 # with open('l','r',encoding='utf-8')as r: # res=json.load(r) # print(res,type(res)) #{'a': 1, 'b': [1, 2, 3, 4, 5]} <class 'dict'> import pickle # 可以将任意类型对象与字符串进行转换 dic={ 'a':1, 'b':[1,2,3,4,5] } res=pickle.dumps(dic) print(res) #byesl类型 b'\x80\x03}q\x00(X\x01\x00\x00\x00aq\x01K\x01X\x01\x00\x00\x00bq\x02]q\x03(K\x01K\x02K\x03K\x04K\x05eu.' with open('2', 'wb') as w: pickle.dump(dic, w) print(pickle.loads(res)) #{'a': 1, 'b': [1, 2, 3, 4, 5]} with open('2','rb')as f: res1=pickle.load(f) print(res1) #{'a': 1, 'b': [1, 2, 3, 4, 5]}
json类型的对象与json类型的字符串相互转换 pickle可以将任意类型对象与字符串进行转换
json.dumps将字典转成字典形式的字符串(序列化 字典无序,字符串有序(索引)) json.loads 将字典形式的字符串转换成字典(反序列化)
和文件有关的只有序列dump 反序列load(b模式下) dump 两个参数一个字典,一个文件名 load 只有一个参数 文件名
常用模块 time sys os json pickle
猜你喜欢
转载自www.cnblogs.com/lakei/p/10685686.html
今日推荐
周排行