6.计时与文件模块

本文详细介绍了Python编程中的模块组织、标准库功能(包括数字与数学、数据类型、数据持久化等)、datetime和calendar模块的时间处理、time模块的时钟操作,以及算术模块、文件读写(如CSV、Excel和PDF)和上机练习等内容。
摘要由CSDN通过智能技术生成

目录

一、模块

1.概念

2.作用

3.组织模块

4.模块引用方式

二、Python语言标准库

1.标准库

2.数字与数学模块

3.数据类型模块 

4. 功能编程模块

5.数据持久化模块

6.数据压缩与存档模块

7.文件格式模块 

8. 文件与目录访问模块

9. 通用操作系统服务

 10.并发执行模块

11.加密服务模块

12. 网络与进程间通信模块

13.互联网数据处理模块

 14.互联网协议与支持

15.多媒体服务模块

16. 结构化标记处理工具

17.程序框架模块

18.图形用户界面

三、扩展命名空间

1.命名空间

四、datetime模块

1.主要的类

2.获取今天的日期

3.修改日期格式

 4.时间戳

 5.时间上的加减法

五、calendar模块

1.概念

2.常用函数

3. 制作日历

a.一个月

b.一年

 4.日历列表化

 5.与日历相关的计算

a.闰年判断:

b.计算某月有几天,从周几开始

c.计算某天为周几

六、time模块

1.获取时间戳

 2.获取当前时间

3.将元组数据转化成日期

4. 利用索引获取时间信息

5.让程序睡一会

七、算数模块

1.math模块

 2.cmath模块

 3.decimal模块

4.fractions模块

5.random模块

八、持久化模块(shelve)

1.临时性对象

2.对象持久化

3.相关的标准库模块

4.构造数据库

5.操作

九、文本文件读写

1. 文件的打开

2. 文件的读写和访问

写:

读:

 3.文件的关闭

调用close():

使用上下文管理器(context manager):

4.结构化文本文件:CSV

读:

写:

字典数据写入:

5.结构化文本文件:Excel

创建Excel文件

读取Excel文件 

获取单元格信息:

 6.结构化文本文件:PDF

读取:

页面:

写:

合并:

单页面操作:

十、上机练习 

第一个:算法计时

第二个: 文本文件写入

第三个:文本文件读取


一、模块

1.概念

每个拓展名为.py的Python程序都是一个独立的模块

2.作用

模块能定义函数、类和变量,让你能够有逻辑的组织你的python代码段

3.组织模块

包(package)是放在一个文件夹里的模块集合

4.模块引用方式

import <模块>[as<别名>]

将模块中的函数等名称导入当前程序

在调用模块中的函数的时候,需要加上模块的命名空间

可以给导入的命名空间替换一个新的名字

引用方式:<模块>.<名称>

from <模块> import <函数>

引用模块中的某个函数

调用时不需要再加上命名空间

二、Python语言标准库

1.标准库

在安装python时就默认已经安装好的模块

python具有功能强大的标准库

注:以下模块不需要死记硬背,注重练习即可

2.数字与数学模块

3.数据类型模块 

4. 功能编程模块

5.数据持久化模块

 

6.数据压缩与存档模块

7.文件格式模块 

8. 文件与目录访问模块

9. 通用操作系统服务

 10.并发执行模块

11.加密服务模块

 

12. 网络与进程间通信模块

13.互联网数据处理模块

 

 14.互联网协议与支持

15.多媒体服务模块

 

16. 结构化标记处理工具

17.程序框架模块

18.图形用户界面

三、扩展命名空间

1.命名空间

表示标识符的可见范围

一个标识符可以在多个命名空间中定义,在不同命名空间中的含义互不相干

dir(<名称>)函数:列出名称的属性

help(<名称>)函数:显示参考手册

四、datetime模块

1.主要的类

可对date、time、datetime三种时间模式进行单独管理

datetime.date()  处理日期(年月日)

datetime.time()  处理时间(时分秒、毫秒)

datetime.datetime()  处理日期+时间

datetime.timedelta()  处理时段(时间间隔)

2.获取今天的日期

datetime.date.today()

datetime.datetime.now()

3.修改日期格式

 使用strftime格式化

datetime.datetime.isoformat()

 4.时间戳

概念:格林威治时间1970年01月01日00时00分00秒起至现在的总秒数

将日期转换成时间戳:

timetuple函数:将时间转换成struct_time格式

time.mktime函数:返回秒数来表示时间的浮点数

将时间转换成日期:

datetime.date.formtimestamp()

 5.时间上的加减法

timedeta()方法:表示两个时间点的间隔

五、calendar模块

1.概念

跟日历相关的若干函数和类,可以生成文本形式的日历

2.常用函数

3. 制作日历

a.一个月

b.一年

 4.日历列表化

calendar.monthcalendar()

返回某一年的某一个月份日历,是一个嵌套列表

最里层的列表含有七个元素,代表一周(从周一到周日)

如果没有本月的日期则为0

 5.与日历相关的计算

a.闰年判断:

普通闰年:被4整除但不被100整除

世纪闰年:被400整除

calendar.isleap(<年>)

b.计算某月有几天,从周几开始

calendar.monthrange()

注意:从0开始对应周一 

c.计算某天为周几

calendar.weekday()

注意:从0开始对应周一

六、time模块

1.获取时间戳

time.time()

 2.获取当前时间

time.asctime()

time.ctime()

out:'Mon Aug 13 16:01:27 2018'

3.将元组数据转化成日期

4. 利用索引获取时间信息

struct_time类

time.localtime()

获取:

 

5.让程序睡一会

time. sleep()

七、算数模块

1.math模块

整数模块

 2.cmath模块

复数模块

 3.decimal模块

浮点数模块

浮点数计算会有误差,使用该模块可以固定精度

生成小数:

小数计算:

 

4.fractions模块

分数模块 

 生成分数

浮点数表示为分数(会有误差)

5.random模块

随机数模块 

八、持久化模块(shelve)

1.临时性对象

类创建的对象并不是真正的数据库记录

村塾在内存而不是文件中

关闭Python,实例将消失

2.对象持久化

使对象在创建他们的程序推出之后依然存在

3.相关的标准库模块

pickle:任意Python对象格式化和解格式化

dbm:实现一个可通过键访问的文件系统,以存储字符串

shelve:按照键把pickle处理后的对象存储到文件中

4.构造数据库

shelve模块:

提供基本的存储操作,通过构造一个简单的数据库,像操作字典一样按照键存储和获取本地的python对象,使其可以跨程序运行而保持持久化

键:必须是字符串,且唯一的

值:任何类型的Python对象

与字典类型的区别:

一开始必须打开shelve,并且在修改后需要关闭它

数据处理:

不支持类似SQL的查询工具

但只要通过键获取到保存在文件的对象,就可以像正常的数据对象一样处理

5.操作

将任意数据对象保存到文件中去:

d = shelve.open(filename)

类似字典形式访问,可读可写:

d[key] = data

value = d[key]

del d[key]

关闭:

d.close()

九、文本文件读写

1. 文件的打开

普通文件:

数据持久化的最简单类型

仅仅是在一个文件名下的字节流,把数据从文件读入内存,从内存写入文件

open()函数:

f = open(filename[,mode[,buffering]])

2. 文件的读写和访问

写:

f.write(str)

f.writelines(stelist):写入字符串列表

读:

f.read()

f.readline():返回一行

f.readlines():返回所有行、列表

 3.文件的关闭

关闭的作用是终止对外部文件的连接,同时将缓存区的数据刷新到硬盘上

调用close():

f.close()

使用上下文管理器(context manager):

可以确保在退出后自动关闭文件

with  open('textfile','rt')  as  myfile:

        myfile.read( )

4.结构化文本文件:CSV

纯文本文件,以“,”为分隔符

值没有类型,所有值都是字符串

不能指定字体颜色等样式

不能指定单元格的宽高,不能合并单元格

没有多个工作表

不能嵌入图像图表

读:

re = csv.reader():接受一个可迭代对象,能返回一个生成器,可从中解析出内容

re = csv.DictReader():返回的每一个单元格都放在一个元组的值内

写:

w = csv.writer()

w.witerow(rows)

当文件不存在时,自动生成

支持单行写入和多行写入

字典数据写入:

w = csv.DictWriter()

w.witeheader()

w.writerow(rows)

5.结构化文本文件:Excel

openpyxl模块

用来读写扩展名为xlsx/xlsm/xltx/xltm的文件

Workbook类是对工作薄的抽象

Worksheet类是对表格的抽象

Cell类是对单元格的抽象文件写操作

操作前要先导入第三方库:

安装 :pip install openpyxl

导库 :from openpyxl import workbook

创建Excel文件

读取Excel文件 

 

获取单元格信息:

 

 6.结构化文本文件:PDF

库:PyPDF2

读取:

页面:

 

写:

 

 

合并:

 

单页面操作:

 

十、上机练习 

第一个:算法计时

import time
for i in range(1,100):
    t1=time.time()
    print(i)
    sum = 0
    a =i
    while a != 0:
        b = 1
        for i in range(1, a + 1):
            b *= i
        sum += b
        a -= 1
    t2=time.time()
    print(sum,t2-t1)

 

第二个: 文本文件写入


a=open('A.txt','w')
a.writelines("Persistence.\nPerseverance is the key to success.\nIt unlocks doors and breaks through glass.\nIt's the force that never says die.\nIt's the light that shines in the night.")
a.close()

第三个:文本文件读取

import random
a=open('A.txt','r')
b=a.read()
words=b.split()
print(len(words))
for i in range(10):
    print(random.choice(words))
print(random.sample(words,10))
a.close()

 

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值