模块

  1. pip install #模块名称
  2. #安装模块
  3. #导入模块
  4.  
  5. from collections import namedtuple

collections模块

提供了几个额外的数据类型:
 Counter、deque、defaultdict、namedtuple\OrderedDict
1.namedtuple:生成可以使用名字来访问元素内容的tuple
2.deque:双端队列,可以快速的从另外一侧追加和推出对象
3.Counter:计数器
4.OrderedDict字典有序化
5,defaultdict字典解决方法

namedtuple 可命名元祖:
对于可命名元祖来说可以通过名字访问.

  1. namedtuple('Point',['x','y'])
  2. p=P(1,2)
  3. print(p.x)
  4. print(p.y)

实用性:让别人看代码比较方便
deque模块  双端队列:
队列:先进先出
两端值先拿出来,从两端放值拿值。有appendleft和popleft
OrderedDict字典有序:
from collections import OrderedDict
直接强转字典时把dict换成OrdereDict
defaultdict字典解决:

  1. from collections import defaultdict
  2. values=[11,22,33,44,55,66,77,88,99]
  3. my_dict=defaultdict(list)
  4. print(my_dict)
  5. print(my_dict.get('k'))
  6. my_dict['k'].append(1)
  7. print(my_dict)

省下了一个创建键值的步骤
Counter 计算每个字符字典中出现的次数:
同上导入模块方法
用字典方法将字符串字母出现次数来排序

时间模块

直接import time
time.time()时间戳   
表示时间三种方式:
(1)时间戳,从1970年1月1日零点开始按秒计算的偏移量,float型。标识时间
然后用这个时间计算时间
(2)格式化的时间字符串(Format String):'1999-12-06'
(3)元祖时间()

time.strftime('')后面给一个格式化格式
%Y是年%m是月%d是天,除了年是小写 %H:%M:%S  时分秒都大写
大%I是12小时制的%p是上下午
%a是简化星期名大写不简化
%c本地相应标准时间
%j年内的一天
%x 日期
%X时间
time.localtime() 默认参数当前时间 也就是括号内time.time
time.struct_time()做时间计算  结构化时间
time.gmtime()是utc  伦敦的时间  后面可以加时间戳数字时间
时间戳转结构化↑

time.mktime()结构化转时间戳
结构化时间转字符串时间:
time.strftime()括号前要转换的,后面是格式
字符串时间转化结构化时间
time.strptime()前面写进去时间,括号后面是给的是什么格式

结构化时间转%a%b%d%H:%M:%S %Y串
time.asctime()里面可以是time.localtime()
将结构化时间转换成固定格式
串转成结构化时间
time.ctime()给一个时间戳就可以
时间元祖:
做时间计算的

random模块

  1. random.random() #随机生成大于0小于1之间的小数
  2. random.uniform(1,3) #随机生成大于1且小于3的小数
  3. random.randint(1,5) #随机生成大于等于1且小于等于5之间的整数
  4. random.randrange(1,10,2) #大于等于1且小于10之间的奇数
  5.  
  6. random.choice([1,'',[4,5]]) #列表里面随机返回一个,参数是一个可迭代对象
  7. random.sample([1,'',[4,5]],2) #任意两个组合

打乱顺序:

  1. item=[1,2,3,4]
  2. random.shuffle(item)
  3. print(item)

随机验证码:
1.

  1. ret=random.sample(range(10),6)
  2. print(''.join((str(i)for i in ret)))

2.

  1. num_lst=[]
  2. for i in range(6):
  3. num=random.randint(0,9)
  4. num_lst.append(str(num))
  5. print(''.join(num_lst)))

英文

  1. def func(n):
  2. ret=''
  3. for i in range(n):
  4. num = random.randint(0,9)
  5. ALPHA = chr(random.randint(65,90))
  6. alpha=chr(random.randint(97,122))
  7. value=random.choice([str(num),ALPHA,alpha])
  8. ret +=value
  9. return ret
  10. print(func(6))

sys模块

与python解释器连接的:
sys.argv文件的相对路径。可以用来写登录

  1. import sys
  2. if sys.argv[1] =='alex' and if sys.argv[2]==''
  3. print('登陆成功')
  4. else:
  5. print('登陆失败')

sys.version #打印的是python的version可以用来判断是否支持版本
用startswith来判断开头不支持的话  sys.exit()退出
sys.path    从前往后看模块导入路径
可以在sys.path后面.append将文件路径加进去
sys.platform  返回操作系统平台 判断操作系统平台  来更换路径

OS模块

os模块是与操作系统交互的一个接口
1.和目录相关的
2.和路径相关的
3.和文件相关的
4.和操作系统相关的
5.和执行系统命令相关的
一层用mkdir
多层用makedirs

  1. os.listdir(os.getcwd())
  2. #将内容变成列表拿出来
  3. os.stat('path/filename') #获取文件状态stat结构
  4. os.sep #路径拼接
  5. os.linesep #输出当前平台使用的行终止符
  6. os.pathsep #输出用于分割文件路径的字符串
  7. os.name #看当前操作系统
  8. os.system('dir') #看当前目录下的所有文件 有些像exec 执行命令用这个
  9. os.popen #有点像eval 要取得信息的话就用这个
  10. os.path
  11. os.path.abspath(path) #返回path规范化的绝对路径
  12. #其实就是os.path.split(path)的第一个元素
  13. os.path.dirname(path) #返回path目录 basename返回最后一个文件目录
  14. os.path.join #可以将路径拼接 会自己按照操作系统拼接

序列化模块

将原本的字典,列表等内容转换成一个字符串的过程就叫做序列化
文件里只能存字符串
将程序中的数据类型转换成str
应用:
1.存文件
2.网络传输
序列化的目的
1.以某种存储形实使自定义对象持久化
2.将对象从一个地方传递到另一个地方
3.使程序更具维护性
数据结构转str是序列化
反着转是反序列化
json模块
dumps是序列化过程
loads是反序列化的过程

  1. import json
  2. d={'k':'v','k2':[1,2,3,4]}
  3. sd=json.dumps(d)
  4. print(sd,type(sd))
  5. j=json.loads(sd)
  6. print(j,type(j))

dump可以传进文件
load可以从文件中拿出转换
ensure_ascii=False  在往文件存的时候用
两种方法:
1.序列化  dump  dumps
2.反序列化 load  loads
json一般只用于处理字典列表元祖
pickle模块当自己定义了一些数据类型时可以用

pickle  可以序列化一些自定义的数据类型   游戏
json  是所有编程语言通用的一种数据类型   网络编程更多

shelve模块

python提供的序列化工具

  1. import shelve
  2. f = shelve.open('shelve_file')
  3. f['key']={'int':10} 可以多个key
  4. f.close()
  5.  
  6. import shelve
  7. f1 = shelve.open('shelve_file')
  8. existing=f1['key']
  9. f1.close()

这个模块有限制,不支持多个应用同一时间往同一个DB进行写操作。
设置writeback=True才能修改key  ,否则key存在无法修改

Python--常用模块部分的更多相关文章

  1. Python常用模块之sys

    Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...

  2. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  3. python——常用模块2

    python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...

  4. python——常用模块

    python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的 ...

  5. Python常用模块——目录

    Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...

  6. python 常用模块之random,os,sys 模块

    python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...

  7. python常用模块之时间模块

    python常用模块之时间模块 python全栈开发时间模块 上次的博客link:http://futuretechx.com/python-collections/ 接着上次的继续学习: 时间模块 ...

  8. python常用模块之subprocess

    python常用模块之subprocess python2有个模块commands,执行命令的模块,在python3中已经废弃,使用subprocess模块来替代commands. 介绍一下:comm ...

  9. python常用模块之string

    python常用模块string模块,该模块可以帮我们获取字母.数字.特殊符号. import string #打印所有的小写字母 print(string.ascii_lowercase) #打印所 ...

  10. python常用模块-调用系统命令模块(subprocess)

    python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...

随机推荐

  1. iOS学习笔记33-UICollectionView入门

    一.UICollectionView介绍 UICollectionView和UICollectionViewController类是iOS6新引进的API,用于展示集合视图,布局更加灵活,可实现多列布 ...

  2. PHP服务接口测试

    最近百度Hi项目拟针对内部员工版本增加设备绑定功能,也许是公司出于对员工聊天信息安全性的考虑,同时也考虑到后期会有相应的员工名片等功能的推出,设备绑定的过程也是为了员工名片功能做个准备吧!设备绑定的服 ...

  3. 【bzoj1585】[Usaco2009 Mar]Earthquake Damage 2 地震伤害 网络流最小割

    题目描述 Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着两个牧场Ai和Bi,注意可能有很多条道路连接着相同的Ai和Bi,并且Ai有可能和Bi相等.Farmer J ...

  4. ACM程序设计选修课——1076汇编语言(重定向+模拟)

    1076: 汇编语言 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 34  Solved: 4 [Submit][Status][Web Board] ...

  5. [LeetCode] Jump Game 数组控制

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  6. 部分转 php kafka

    Step 1: 下载Kafka (官网地址:http://kafka.apache.org) Kafka入门经典教程 http://www.aboutyun.com/thread-12882-1-1. ...

  7. unix网络编程第2章

    time_wait状态  可靠地实现tcp全双工连接的终止; (假设客户端先关闭).服务端再关闭,服务端将发送fin ,客户端此时进入time_wait状态.客户端接收到fin.将回一个ack.如果这 ...

  8. 快充 IC BQ25896 的 Dynamic Power Management

    Spec 更正: 上面紅色框框應該還要再增加一個 ILIM pin 硬體所設定的 input current limit, 也就是說 input current limit 最多可以從這 3 個 IL ...

  9. MySQL完全备份脚本:数据+二进制日志+备份日志

    一. 脚本须知 1.mysql数据文件和二进制日志文件最好保存在不同的分区或存储设备上 2.备份完成后注意修改数据的权限以防止泄露重要信息,哪些主机哪些用户可以用来恢复 3. 查看导出的2进制日志文件 ...

  10. Mac下Android SDK更新不了的解决办法

    在hosts文件中加入: 203.208.46.146   dl.google.com 203.208.46.146 dl-ssl.google.com