Python学习杂记_14_模块(二)_常用模块
常用模块
random 模块
import random print(random.random()) # 随机浮点数,默认取0-1,不能指定范围
print(random.randint(1, 20)) # 随机整数
print(random.randrange(1, 20)) # 随机产生一个range
print(random.choice([1,2,3,4,5])) # 随机取一个元素
print(random.sample([1,2,3,4,'6'], 3)) # 从序列中随机取几个元素,返回的是一个list
print(random.uniform(1, 88888)) # 随机取浮点数,可以指定范围 x = [1, 2, 3, 4, 5, 6]
random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值 import string
print(string.ascii_letters + string.digits) # 所有的数字和字母
print(random.randint(1, 20)) # 随机整数
print(random.choice([1,2,3,4,5])) # 随机取一个元素
print(random.sample('hello', 3)) # 从序列中随机取几个元素,返回的是一个list
print(random.uniform(1, 88888)) # 随机取浮点数,可以指定范围
x = [1, 2, 3, 4, 5, 6]
random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值
print(x) Json模块 import json
# json很像python的字典类型,但是json里面只能是双引号,不能是单引号,json串实际上就是一个字符串 json_str = """
{
"username": "niuhanyang",
"passwd": 123456,
"flag": true
}
"""
fr = open('users')
json_dic = json.loads(json_str) #json串(字符串)转成字典,loads方法是把json转成字典
json_dic_file = json.load(fr) #json串(字符串)转成字典,load方法是传入一个文件对象,然后load方法自动去读这个文件的内容,然后转成字典 print(json_dic_file)
print(type(json_dic_file)) d = {
"hhh": {
"price": "90000",
"password": "123456"
},
"admin": {
"password": "123456",
"money": 8000
}
} fw = open('users.json','w')
dic_str = json.dumps(d) #把字典变成json串(字符串)
json.dump(d,fw)
print(dic_str)
print(type(dic_str)) 注意:
#json可以用字典和list, 换言之,字典和list都可以被json序列化,json.loads(str)方法的参数既可以是字典格式的字符串,也可以是列表格式的字符串,
当参数是字典格式的字符串时,返回结果是字典;当参数是列表格式的字符串时,返回结果扔是list.
#dump和dumps字典转json串的
#load和loads是json串转字典
#带s就和字符串沾边,不带s和文件对象沾边
os 模块 import os print(os.getcwd()) # 获取当前工作目录
os.chdir(r"E:\上课\homework\dq-classing") # 更改当前目录
print(os.getcwd())
os.mkdir("test1") # 在当前路径下创建空目录
os.makedirs("test2\test3") # 在当前路径下创建父子目录
os.rmdir("test1") # 删除空目录,目录不为空或目录不存在报错
os.removedirs(r"test2\test3") # 删除目录里及其里面的内容
os.remove(r"test1\a.txt") # 删除文件
os.rename("test1", "test2") # 目录重命名
os.rename(r"test2\a.txt", "test2\qqq.txt") # 文件重命名
print(os.sep) # 获取当前操作系统的路径分隔符
print(__file__) # 代表当前文件,返回的是当前文件全名(绝对路径+文件名)
print(os.path.abspath('Beijing')) # 获取绝对路径
print(os.path.dirname(__file__)) # 获取父目录
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
print(os.path.join("root", "haha", "a.log")) # 拼接成一个路径
print(os.path.exists("Beijing")) # 判断某文件或目录是否存在
print(os.path.exists(r"E:\上课\homework\dq-classing\test2\qqq.txt"))
print(os.path.isfile("Beijing")) # 判断是否是文件
print(os.path.isdir("test2")) # 判断是否是文件 sys模块 import sys sys.argv # 命令行参数列表,第一个元素是程序本身及路径
sys.exit("XXX") # 退出程序并显示字符串,正常退出时 exit(0) 或 exit()
print(sys.version) # 获取Python解释程序的版本信息
sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量
print(sys.platform) # 返回操作系统平台的名称 time 模块
常用的一种是时间戳、一种是格式化时间、一种是时间元组
import datetime, time print(time.timezone) # 和标准时间相差的时间,单位是s
print(int(time.time())) # 获取当前时间戳
#时间戳的意思就是从unix元年(1970.1.1),到现在的秒数。
print(time.sleep(1)) # 休息几s
print(time.gmtime()) # 把时间戳转换成标准时区的时间元组,如果不传的话,默认取标准时区的时间戳
print(time.localtime()) # 把时间戳转换成当前时区的时间元组,如果不传的话,默认取当前时区的时间戳
print(time.mktime(time.localtime())) # 把时间元组转换成时间戳
print(time.strftime("%Y.%m.%d %H:%M:%S")) # 将当前时间元组转换成格式化输出的字符串
# %Y年 %m月份 %d天 %H小时 %M代表是分钟 %S代表的是秒 print(time.strptime("20160204191919", "%Y%m%d%H%M%S")) # 将格式化的时间转换成时间元组,年月日时分秒一样也不能少
print(time.struct_time) # 时间元组
print(time.asctime()) # 时间元组转换成格式化时间,格式固定为"Thu Jun 22 10:57:17 2017"
print(time.ctime(149776000)) # 时间戳转换成格式化时间
print(datetime.datetime.now()) # 当前时间格式化输出,格式如 "2017-06-22 11:10:15.976853"
print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的时间
print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的时间
Python学习杂记_14_模块(二)_常用模块的更多相关文章
- 进击的Python【第五章】:Python的高级应用(二)常用模块
Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...
- Python学习【第十二篇】模块(2)
序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成 ...
- 老男孩python学习自修第十六天【常用模块之sys和os】
例子: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys. ...
- python学习笔记(十二)随机数模块
import random,string print(random.randint(1,199))#1-199随机取一个整数,包含199 print(string.digits)#所有的数字0-9 p ...
- 《Python学习手册》(二)
<Python学习手册>(二) --类型和运算 数字 十六进制 八进制 二进制 0x 0o 0b hex() oct() bin() >>>int('10',2) 2 & ...
- 模块二之序列化模块以及collections模块
模块二之序列化模块以及collections模块 一.序列化模块 json模块 ''' 序列化:将python或其他语言的数据类型转换成字符串类型 json模块: 是一个序列化模块. json: 是一 ...
- Python学习杂记_13_模块(一)_基础
一.模块和模块调用 模块其实就是一个Python文件,模块的调用实际就是把这个Python文件从头到尾执行一遍. 如果是在相同路径下的调用: 1. 先导入整个模块,然后引用模块中的方法 import ...
- Python学习之旅(二十九)
Python基础知识(28):常用第三方模块 一.Pillow PIL(Python Imaging Library):提供了强大的图像操作功能,可以通过简单的代码完成复杂的图像处理,是Python平 ...
- Python学习笔记(十四):模块高级
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-23 21:30 学习笔记 1,包导入是把计算机上的 ...
随机推荐
- 邮件系统之Postfix与Dovecot
电子邮件系统 电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有: 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件, ...
- AOP的两种实现方式
技术交流群 :233513714 AOP,面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术. Aspect Oriented Progr ...
- jQuery上传文件控件Uploadify使用
Uploadify是JQuery的一个上传插件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件等. 首先应下载jQuery和uploadify插件 jQuery下载地址:h ...
- 以+scheduledTimerWithTimeInterval...的方式触发的timer,在滑动页面上的列表时,timer会暂定回调,为什么?如何解决?
这里强调一点:在主线程中以+scheduledTimerWithTimeInterval...的方式触发的timer默认是运行在NSDefaultRunLoopMode模式下的,当滑动页面上的列表时, ...
- 剑指Offer - 九度1523 - 从上往下打印二叉树
剑指Offer - 九度1523 - 从上往下打印二叉树2013-12-01 00:35 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 输入: 输入可能包含多个测试样例,输入以E ...
- 《Cracking the Coding Interview》——第8章:面向对象设计——题目6
2014-04-23 22:57 题目:实现一个数据结构来表示拼图游戏中的碎片. 解法:一个拼图块儿有四条边,每边只有凹凸平三种情况,当两块碎片拼接的时候,分为四个方向进行,块儿上的图案肯定也是判断是 ...
- MySQL隐式转换测试
Preface There're various data type in MySQL such as number,string,date,time,lob,etc.The data ...
- Bit与Byte的区别
在工作中遇到一些概念模糊的地方, 需要记住了bit意为“位”或“比特”,是计算机运算的基础: byte意为“字节”,是计算机文件大小的基本计算单位: 说到usb2.0标准接口传输速率.许多人都将“48 ...
- Python全栈工程师(异常(基础))
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 补充:包的相对导入 只对后两种导入方式有用 ...
- 在jsp页面中使用jstl标签
第一步:引入标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> 第 ...