python学习第六天
一、 模块介绍
1、 模块的定义:用一堆代码实现了某个功能的代码集合
包的定义:本质就是一个目录(必须导游一个_init_.py文件),是用来从逻辑上组织模块的。
2、 需要多个函数才能完成(函数可以在不同的.py文件中),n个.py文件组成的代码集合成为模块。例如:os是系统相关的模块。File是文件操作相关的模块。
3、 模块的导入方法:
方法一:import module _name
方法二:导入多个文件:import module1_name,module2_name
方法三:from module_name import * 不建议用(原因:导入了module_name下的所有方法)
方法四:from module_name import m1,m2,m3
方法五:from module_name import import logger as logger_name
4、 import模块的本质:就是把python文件解释了一遍
5、 导入包的本质:就是去执行该包下的_init.Py 文件
6、 包的导入方法:(导入包本身没有实质的意义),要想导入包下的文件,需要修改包下的_init_.py 文件。然后在_init.py 文件中添加from.import test1.
7、 内置函数_file_ :代表当前文件的文件名
8、 Os.path.abspath(_file_) # 获取当前文件的文件名
9、 Os.path.dirname(Os.path.abspath(_file_)) # 获取名录名
10、 From.import test1 # 从当前模块下导入test1
11、 模块的分类:
自定义模块
内置标准模块(又称标准库)
开源模块
二、 Time & datetime 模块(标准库)
时间戳的本质是:秒数 (是从1970年开始到现在的时间:即:当前的时间-1970.01.01 零点零秒。然后换算成秒数)(以1970年开始计算的原因:1970年python诞生,所以python语言以1970年作为元年计算)
Utc时间:格林威治时间
1、 Time 模块
import time
import datetime
x=time.time()
print(x)
# print(time.altzone) # 返回与utc时间的时间差,以秒计算
# print(time.altzone/3600)
# print(time.time()/(3600*24*365))
# print(time.struct_time)
# print(time.localtime()) # 返回本地时间
t = time.localtime(time.time()+3600*3) # 只能接收秒。可用于预定时间出发任务的功能
print(t)
print(time.gmtime()) # 返回utc时间
print(time.ctime()) # 返回当前是时间
将字符串转化为时间戳
日期字符串转换成时间戳
#
# string_struct=time.strptime("2016/05/14","%Y/%m/%d") #将字时间符串格式的转换为struct时间对象格式
# print(string_struct)
#
#
# string_stamp = time.mktime(string_struct) #将struct 时间转换为时间戳的样式
# print(string_stamp)
#
# # 将时间戳转换为日期字符串
#
# print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
# print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())) #将utc struct_time格式转成指定的字符串格式 # 时间的加减 import datetime print(datetime.datetime.now()) # 返回当前时间
print(datetime.date.fromtimestamp(time.time())) # 时间戳直接转换为日期格式如:2016-11-17
三、 Random
1、random模块的用途:生成随机值
2、练习
import random
# print(random.random()) #用于生成一个0-1之间的一个浮点数
# print(random.randint(0,9)) # 用于生一个0-9之间的一个整数,包含9
print(random.randrange(0,9)) # 用于生成一个0-9的一个整数,不包含9
print(random.choice('12345abcd')) # 从序列中获取一个随机元素 # 洗牌
items=[1,2,3,4,5,6]
random.shuffle(items)
print(items)
四、 Shutil 模块
1、
Shutil模块的用处:高级的文件、文件夹、压缩包的处理模块
2、
import shutil # f1 = open('笔记',encoding='utf-8')
# f2 = open('笔记1','w',encoding='utf-8')
# shutil.copyfileobj(f1,f2) # 将文件内容copy到另一个文件中,可以copy部分内容
# shutil.copyfile('笔记','笔记2') # copy文件
# shutil.copy('笔记','笔记3') # copy文件和权限
#shutil.copytree('test1','test_new') #递去归的copy 一个目录到另一个目录 # shutil.rmtree('test_new') # 递归的去删除一个目录 shutil.make_archive('ceshi','zip','E:/test/day5') # 创建压缩包并返回文件路径,例如:zip、tar
八、 Shelve
Shelve 模块是对一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式。是对pickle更上一层的分装。
# 写入一个文件
import shelve
import datetime a = shelve.open('shelve_01') info = {'age':22,'job':'tester'} name = ['jim','rain','lily'] a['info'] = info # 持久化列表
a['name'] = name # 持久化dict
a['date'] = datetime.datetime.now() a.close() # 读出文件 a = shelve.open('shelve_01') print(a.get('info'))
print(a.get('name'))
print(a.get('date'))
九、 Xml 处理
1、 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单。 2、 python对xml的操作import xml.etree.ElementTree as ET namelist = ET.Element("NemaList") # 输入需要处理的文件名
name = ET.SubElement(namelist,"name",attrib={"whatever":"YES"})
name.text = "rain"
age = ET.SubElement(name,"age")
age.text = "22"
role = ET.SubElement(name,"role")
role.text = "teacher"十、 Yaml 处理
十一、 Configparser
十二、 Hashlib
十三、 Subprocess
十四、 Logging 模块
十五、 Re正则表达式
python学习第六天的更多相关文章
- python学习 第六天课后总结:
<br class="Apple-interchange-newline"><div></div> python学习 第六天课后总结 ...
- python学习第六天运算符总结大全
python学习第六天运算符总结大全,玖乐网络(www.96net.com.cn)列出下面详细 1,算术运算符 + 加 - 减 *乘 / 除 % 求模 ** 乘方 // 取整除 - 返回商的整数部分 ...
- python学习第六天 条件判断和循环
总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...
- python学习第六天:python基础(dict、set)
dict dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 创建&取值 为什么dict查找速度这么快? 因为 ...
- python学习第六天:python基础(条件判断、循环)
条件判断 格式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...
- 数据类型+内置方法 python学习第六天
元组 用途:不可变的列表,能存多个值,但多个值只有取的需求而没有改的需求. 定义方式:在()内用逗号分隔开多个元素,可以存放任意类型的值. names=(‘alex’,’blex’,’clex’) 强 ...
- python学习第六天--匿名函数、过滤、映射
匿名函数 lambda表达式 过滤器 filter(判断函数,可迭代对象) 会根据提供的函数对指定序列做过滤 映射 map(判断函数,可迭代对象) 会根据提供的函数对指定序列做映射
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
随机推荐
- iOS 画图讲解
5.画图 (1)画线 //绘图代码写在drawRect里,view加载完成,需要显示的时候调用 //1.获取图形上下文 2.创建路径 3.把图形放入上下文 4.渲染上下文 //drawRect的rec ...
- [wordpress]根据自定义字段排序并根据自定义字段查询
Wordpress中,根据根据自定义字段排序和查询是通过WP_Query()方法 如根据 一个自定义的sort的数字字段从小到大进行排序 $args = array( 'post_type' => ...
- 【转载】看懂SqlServer查询计划
看懂SqlServer查询计划 阅读目录 开始 SQL Server 查找记录的方法 SQL Server Join 方式 更具体执行过程 索引统计信息:查询计划的选择依据 优化视图查询 推荐阅读-M ...
- 二维码zxing源码分析(五)精简代码
由于工作的需要,我并不是需要二维码扫描的所有的功能,我只是需要扫一扫,并显示出来图片和url就行,于是我们就要精简代码了,源码已经分析完了,精简起来就方便多了,源码分析请看 二维码zxing源码分析( ...
- js中关于原型的几个方法
一.isPrototypeOf()方法,判断一个对象是否是另一个对象的原型 function Student(name,age){ this.name=name; this.age=age; } va ...
- XML DOM 循环(foreach)读取PHP数据 和 PHP 编写 XML DOM 【转载】
用 PHP 读取和编写可扩展标记语言(XML)看起来可能有点恐怖.实际上,XML 和它的所有相关技术可能是恐怖的,但是用 PHP 读取和编写 XML 不一定是项恐怖的任务.首先,需要学习一点关于 XM ...
- 使用Linux系统中的SSH服务
使用Linux系统中的SSH服务 1.SSH服务应用场景 ① 可以实现对文件的上传与下载 ② 实现远程管理Linux 2.安装SSH服务器 服 务:sshd 位 置:光盘2 软 件:openssh-s ...
- 远程连接postgres,出现server doesnt listen
已修改pg_hdb.conf中的 # IPv4 local connections: host all all 127.0.0.1/32 ...
- NOIP 2015普及组复赛Day1 T1 == Codevs4510 神奇的幻方
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description: 幻方是一种很神奇的N∗N矩阵:它由数字 1,2,3, … … ,N∗N构成, ...
- 数据结构与算法课程作业--1014. Translation
这道题思想很简单,就是用map将foreign的作为键值,english的值作为对应的映射值,然后通过直接用foreign作为map对象的下标直接查找. 本题比较烦人的一点就是输入数据,我使用了get ...