day19 几个模块的学习

# 模块本质上就是一个 .py 文件
# 数据类型
# 列表、元组
# 字典
# 集合、frozenset
# 字符串
# 堆栈:特点:先进后出
# 队列:先进先出 FIFO

# from collections import namedtuple
#
# Point = namedtuple('point', ['x', 'y']) # 参数一:名字 ;
# p = Point(1, 2) # 实参数量必须和形参数量一致
# print(p.x, p.y)
# print(p)

# 花色和数字
# Card = namedtuple('card',['suits','number'])
# c1 = Card('红桃',2)
# print(c1)
# print(c1.suits)
# print(c1.number)

# 队列,不可迭代的,不能用循环取值
# import queue
#
# q = queue.Queue()
# q.put(10)
# q.put(5)
# q.put(6)
# print(q) # <queue.Queue object at 0x000001DC0C30A198>
# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get()) # 阻塞
# print(q.qsize())

# from collections import deque

# dq = deque([6,7])
# deque 里面的数据以列表形式存放
# 计算机的原点 在 左上角
# dq.append(1) # 从后面放数据
# dq.appendleft(2) # 从头放数据
# dq.insert(1,3) # deque的插入操作(index'索引'【从0开始往后的那个位置】,obj)是把
# # obj插入在被制定的index前面的,类似生活中的插队,是插队在别人前面
# print(dq)
# print(dq.pop()) # 从后面取数据
# deque.popleft() # 从头取数据

# from collections import OrderedDict
#
# od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
# print(od) # OrderDic 的key是有序的
#
# for k in od:
# print(k, od[k])

# from collections import defaultdict
#
# d = defaultdict(lambda: 5) # 默认值必须是callble的【可调用的】或者是None
# print(d['k'])

# import time

# time.sleep(3)
# print(time.time())

# 格式化时间 —— 字符串:给人看的
# 时间戳时间 —— float时间:计算机看的
# 结构化时间 —— 元组:计算用的

# print(time.strftime("%Y-%m-%d %H:%M:%S")) # 剩下的%X 代码查字典
# 2019-04-15 10:12:56
# year month day HOUR MINUTE SECOND

# struct_time = time.localtime()
# print(struct_time)
# print(struct_time.tm_year)

# 时间戳和结构化时间
# t = time.time()
# print(t)
# print(time.localtime(t))
# print(time.gmtime(t))

# print(time.mktime(time.localtime()))

# print(time.strptime("2018-12.23", "%Y-%m.%d")) # 字符串时间转结构化时间

# print(time.strftime("%m/%d/%Y %H:%M:%S", time.localtime(3000000000)))

# print(time.asctime())

# 练习题计算时间差
import time

t1 = time.mktime(time.strptime("2019-4-14 11:17:00", "%Y-%m-%d %H:%M:%S"))
print(t1)

t2 = time.mktime(time.strptime("2019-4-15 11:18:01", "%Y-%m-%d %H:%M:%S"))
print(t2)

# t_sub = t2 - t1
# print(t_sub)
# t_sub = time.gmtime(t_sub)
# print("时间过去了%d年,%d月,%d天,%d小时,%d分钟,%d秒" % (
# t_sub.tm_year - 1970, t_sub.tm_mon - 1, t_sub.tm_mday - 1, t_sub.tm_hour, t_sub.tm_min, t_sub.tm_sec))

# 验证码组成:数字、字母
# 1234 432145
# Abc123 alz698

# 0-9
# chr
# [65-90] 数字
# 字母 = chr(数字)
# 随机数字
# 随机选一个[随机数字,随机字母]


# 练习题:用random模块完成验证码设计
import random

count = 0
count2 = 0
list = []
while (count < 3):
digital = random.randrange(65, 123)
str = chr(digital)
if str.isalpha():
list.append(str)
count += 1
while (count2 < 3):
digital2 = random.randrange(0, 10)
str2 = digital2
list.append(str2)
count2 += 1
print(list)
for i in list:
print(i, end="")
random.shuffle(list)
print()
print(list)
for i in list:
print(i, end="")

import os

# print(os.getcwd())
# os.chdir() # 改变当前工作目录

# print(os.curdir) # 返回当前目录 :“.”
# print(os.pardir) # 获取当前目录的父级目录字符串名:“..”

# os.makedirs('dirname1/dirname2') #可生成多层递归目录
# os.removedirs('dirname1/dirname2') #若目录为空,则删除,并递归到上一级目录,一直向上删除到一个不为空的目录
# os.mkdir('dirname') #生成单级目录;相当于shell中mkdir dirname
# os.rmdir('dirname')#删除单级目录,若目录不为空则无法删除,报错;相当于shell中的rmdir dirname


# os.system('dir') 可以打印当前目录下所有文件,但是没有返回值

# ret = os.popen('dir').read() #popen 是 p open
# print(ret)

# sys 模块 是与python解释器交互的一个接口
import sys

# sys.exit(1) # 退出程序,正常退出时exit(0),错误退出sys.exit(1)
# print(sys.platform)
# print(sys.version)
# print(sys.path)

print(sys.argv)

posted @ 2019-04-15 17:08  云川望雨  阅读(159)  评论(0编辑  收藏  举报