Day 20 Time 模块.
from collections import namedtuple
Point =namedtuple("Point",["x","y"]) # 1. namedtuple :生成可以使用名字来访问元素内容的tuple
# 2. deque 双端队列, 可以快速的从另一侧追加和推出对象
# 3.Counter:计数器 主要用来计数
# 4. OrderedDict 有序字典
# 5. defaultdict :(带有默认值的字典 deque
from collections import deque
q =deque(['a','b','c'])
q.append('x')
print(q)
# 输出结果为:deque(['a', 'b', 'c', 'x'])
#deque除了实现list的 append()和pop()外,还支持appendleft()和 popleft(),这样就可以非常高效的往头部添加或者删除元素. # OrderedDict
# 使用dict时,key是无序的,在对dict做迭代时,我们无法确定key的顺序。
# 如果要保持key的顺序,可以用ordereddict
from collections import OrderedDict
# d =dict([('a',1),('b',2),("c",3)])#无序字典
# print(d)
# # 答案:{'a': 1, 'b': 2, 'c': 3}
# od =OrderedDict([('a',1),('b',2),("c",3)])
# print(od)
# 打印结果:OrderedDict([('a', 1), ('b', 2), ('c', 3)]) od = OrderedDict()
od['z'] = 1
od['y']=2
od['x']=3
# od.keys()
print(od)
# 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 from collections import defaultdict values = [11, 22, 33,44,55,66,77,88,99,90] my_dict = defaultdict(list) for value in values:
if value>66:
my_dict['k1'].append(value)
else:
my_dict['k2'].append(value) print(my_dict)
import time
time.time()
print(time.time())
#打印出来的为时间戳时间.
# 打印结果为 1521114319.95188 print(time.strftime('%Y,%m,%d,%H %M %S'))
#格式化输出时间. time_tuple=time.localtime(15000)
print(time_tuple)
#时间戳时间转换成结构化时间.
# 输出结果
# time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=12, tm_min=10, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0) timestmp = time.mktime(time_tuple)
print(timestmp)
# 结构化时间转换成时间戳时间
# 输出结果15000.0 fmtime =time.strftime('%Y %m %d %H %M %S')
print(fmtime)
# 格式化时间
#输出结果 2018,03,15,19 54 53 sttime = time.strptime('2065-01-24 13:20:00','%Y-%m-%d %H:%M:%S')
print(sttime)
#格式化转换成结构化时间
#time.struct_time(tm_year=2065, tm_mon=1, tm_mday=24, tm_hour=13, tm_min=20, tm_sec=0, tm_wday=5, tm_yday=24, tm_isdst=-1)
时间的表示方式.
1. 时间戳(timestamp):计算机的表示
2.格式化时间(字符串):方便用户查看.
3.结构化时间(元组):提供了更丰富的时间表示方式.方便计算.
# import time
# time_tuple = time.localtime(1500000000)#结构化时间
# print(time.mktime(time_tuple)) import time
print(time.time())
# 打印结果:1519909456.8607504 时间戳时间. print(time.strftime('%Y')) #显示年份. 2018
print(time.strftime('%Y/%m/%d'))#显示结果:2018/03/01
print(time.strftime('%Y/%m/%d %H:%M:%S'))# 显示结果 :2018/03/01 21:09:34
print(time.strftime('%x %X'))# 打印结果:03/01/18 21:10:15 , s_time =time.localtime()
print(s_time.tm_hour)#当前时间 小时. 21
print(s_time.tm_mday)#当前时间 日期 1 以什么形式记录时间?
记录时间戳 . 时间戳到结构化时间
#localtime
#gmtime

时间戳(timestamp):通常来说,时间戳表示从1970年1月1日0时0分0秒开始时间的偏移量,单位为秒。
import time print(time.time()) #结果 1519910208.9107652 时间戳时间. ----- stime =time.localtime(30000000) # 将时间戳转换成结构化时间. 北京时间 print(stime) #结果 time.struct_time(tm_year=1970, tm_mon=12, tm_mday=14, tm_hour=13, tm_min=20, tm_sec=0, tm_wday=0, tm_yday=348, tm_isdst=0) ---- qtime =time.gmtime(300000000)#将时间戳转换成结构化时间. London时间
print(qtime)#结果:time.struct_time(tm_year=1979, tm_mon=7, tm_mday=5, tm_hour=5, tm_min=20, tm_sec=0, tm_wday=3, tm_yday=186, tm_isdst=0)
--- print(time.mktime(stime)) #结果:30000000.0 #将结构化时间转换成时间戳时间 结构化时间转换成-->格式化时间.
import time
stime = time.gmtime(30000) #将时间戳时间转换成结构化时间.
ftime =time.strftime('%Y - %m -%d %H:%M:%S',stime)# 将结构化时间转换成格式化时间
print(ftime)
结果:1970 - 01 -01 08:20:00
格式化时间转换成结构化时间
s_time =time.strptime('2065-01-24 13:20:00','%Y-%m-%d %H:%M:%S')
print(s_time)
结果为:time.struct_time(tm_year=2065, tm_mon=1, tm_mday=24, tm_hour=13, tm_min=20, tm_sec=0, tm_wday=5, tm_yday=24, tm_isdst=-1)
# print(time.asctime(time.localtime(3000000000)))
# print(time.ctime(3000000000))
import os
print(os.getcwd())
输出结果为当前的目录下
D:\parcharm

print(os.listdir('d:\parcharm'))

结果 :
['.idea', '1.py', '12', '17.py', '4.py', '5.py', 'dir', 'log', 'log1', 'my_module.py', 'new.txt', 'register', '__pycache__']
print (os.path.isdir('d:\parcharm'))
结果:
True
print (os.getcwd)
结果 :
D:\parcharm
os.makedirs('dirname1/dirname2')
结果 :

os.makedirs('dirname1/dirname2')
# os.removedirs('dirname1/dirname2')#递归删除 ,删除后返回上一级目录,若也为空,则删除
print(os.listdir('dirname1'))
结果:['1212.txt', 'New Microsoft Visio 绘图.vsdx']
print(os.stat(r'D:\PycharmProjects\test\venv\Scripts\python.exe'))
结果 :os.stat_result(st_mode=33279, st_ino=562949953433880, st_dev=2104301406, st_nlink=1, st_uid=0, st_gid=0, st_size=97944, st_atime=1516238739, st_mtime=1516238739, st_ctime=1516238739)

print(os.sep) windows 下路径的分隔符为 \ (Linux的路径下为/)
结果为:\
print("a%sb" %os.sep)
输出结果为:a\b
os.system("dir") #exec 无返回值. 使用python去执行操作系统的命令.
ret=os.popen("dir").read()
print(ret)
print(exec("1+2+3"))
print(eval("1+2+3")) #算了 返回结果
print(os.path.abspath(r'D:/parcharm/17.py'))
print(os.path.abspath('D:/parcharm/17.py'))#查看文件的路径
print(os.path.dirname('D:/parcharm/17.py'))#文件所在的目录
print(os.path.exists('D:/parcharm/137.py')) #结果为False则为不存在
Day 20 Time 模块.的更多相关文章
- day 20 02 模块的导入
day 20 02 模块的导入 1.模块:就是一个文件:放置一些通用的有独立功能程序或者函数.比如建立一个py文件,文件名为:demo,文件里面的内容:demo模块: print('嗨大米')def ...
- day 20 collection模块 time 模块 os 模块
一.collection模块 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要 ...
- 20 常用模块 hashlib hmac:加密 xml xlrd xlwt:excel读|写 configparser subprocess
hashlib模块:加密 加密: 1.有解密的加密方式 2.无解密的加密方式:碰撞检查 hashlib -- 1)不同数据加密后的结果一定不一致 -- 2)相同数据的加密结果一定是一致的 import ...
- Day 20 常用模块(三)
一.加密模块 1.加密方式: 1.有解密的加密方式 2.无解密的加密方式,碰撞检查 1.不同数据加密后的结果一定不一致 2.相同数据的加密结果一定是一致 2.hashlib模块 1.基本使用 ciph ...
- python标准库介绍——20 cStringIO 模块详解
==cStringIO 模块== ``cStringIO`` 是一个可选的模块, 是 ``StringIO`` 的更快速实现. 它的工作方式和 ``StringIO`` 基本相同, 但是它不可以被继承 ...
- python入门20 导入模块(引包)
1 引包: import module 或 import module.module1 或 from module import module1,module2...等 2 import xx ...
- Day 20 re模块(正则表达式)
re模块 作用:取文本或者字符串内找你所需要的东西 import re re.findall(参数一,参数二,参数三) #暂时用到前两个,第一个为正则表达式,第二个为字符串,也就是被搜索的文本 ^元字 ...
- 20.logging模块
# __________________________________________________ # 创建一个logger logger = logging.getLogger() logge ...
- 第20章 DLL高级技术(3)
20.4 函数转发器 (1)函数转发器原理(下图是利用Dependency Walker打开Kernel32.dll得到) ①图中CloseThreadpool*等4个函数转发到NTDLL中相应的函数 ...
随机推荐
- 5-Qt读取文件失败原因
刚开始准备读取当前目录下的txt文件: QFile file(":/xuhao.txt");或者: QFile file("./xuhao.txt"); 但是一 ...
- svn回退版本/取消修改
取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [ ...
- POJ3687.Labeling Balls 拓扑排序
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13201 Accepted: 3811 Descr ...
- [Groovy] 学习Groovy的好网站(内容全面)
https://www.tutorialspoint.com/groovy/index.htm
- swiper3d横向滚动多张炫酷切换banner
最近有了个新需求,swiper3d横向滚动多张炫酷切换banner要和elementUI里边走马灯的卡片化card 类似,但是还需要h5手机触摸滚动啊啊啊啊,昨天折腾了半个早上总算完成,今天乖乖跑来m ...
- 全国各地dns服务器列表
211.103.13.101 江苏省无锡市 移动DNS服务器 211.136.28.231 北京市 移动DNS服务器 211.136.28.234 北京市 移动DNS服务器 211.136.28.23 ...
- LA 4670 Dominating Patterns (AC自动机)
题意:给定n个字符串和一个文本串,查找哪个字符串出现的次数的最多. 析:一匹配多,很明显是AC自动机.只需要对原来的进行修改一下,就可以得到这个题的答案, 计算过程中,要更新次数,并且要映射字符串.如 ...
- 201709025工作日记--更新UI方法
1.handler+Thread 和 runOnUIThread 和 handler.post 方法 区别: 从实现原理上,两者别无二致,runOnUiThread也是借助Handler实现的. 对 ...
- gulp布局构建小结
一.工具选择CSS预处理语言LESS 构建工具gulp(基于node环境)gulp插件:gulp-connect——主要是用来运行一个webserver npm install --save-dev ...
- hdu 5046 二分+DLX模板
http://acm.hdu.edu.cn/showproblem.php?pid=5046 n城市建k机场使得,是每个城市最近机场的距离的最大值最小化 二分+DLX 模板题 #include < ...