Python基础----模块1

time模块

在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

(2)格式化的时间字符串(Format String): ‘1988-03-16’

(3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

 1 # <1> 时间戳
 2 >>> import time
 3 >>> time.time()      #--------------返回当前时间的时间戳
 4 1493136727.099066    #距离1970年1月1日00:00:00有这么多秒
 5
 6 # <2> 时间字符串
 7 >>> time.strftime("%Y-%m-%d %X")
 8 ‘2017-04-26 00:32:18‘
 9
10 # <3> 时间元组
11 >>> time.localtime()
12 time.struct_time(tm_year=2017, tm_mon=4, tm_mday=26,
13                  tm_hour=0, tm_min=32, tm_sec=42, tm_wday=2,
14                  tm_yday=116, tm_isdst=0)

时间转换方法:

1 print(time.localtime())  #时间对象,对象的数据类型一定可以通过这个对象进行.方法的操作
2 s=time.localtime()     #结构化时间对象,以时间戳为参数
3 print(s.tm_year)    #返回年份
4 print(time.gmtime())    #世家标准时间,和时区有关,也是用时间戳
5 print(time.mktime(time.localtime()))    #将结构化时间转化成时间戳的方法

1 print(time.asctime(time.localtime()))    #自动格式化当前时间
2 print(time.ctime(15352345134))    #自动格式化当前时间

手动格式化时间:

print(time.strftime(‘%Y-%m-%d‘,time.localtime()))   #结构化时间转化成字符串,分割符号-可以随意替换,可以是任意字符
print(time.strptime("2017-03-16","%Y-%m-%d"))    #结构化时间转换成时间戳

小结:时间戳是计算机能够识别的时间;时间字符串是人能够看懂的时间;元组则是用来操作时间的

其他方法:

1 time.sleep(3)    #睡眠3秒,用于延迟执行代码

random模块

随机数模块,能够按照指令使用对应的算法模拟随机数

 1 >>> import random
 2 >>> random.random()      # 大于0且小于1之间的小数
 3 0.7664338663654585
 4
 5 >>> random.randint(1,5)  # 大于等于1且小于等于5之间的整数
 6 2
 7
 8 >>> random.randrange(1,3) # 大于等于1且小于3之间的整数
 9 1
10
11 >>> random.choice([1,‘23‘,[4,5]])  # #1或者23或者[4,5]
12 1
13
14 >>> random.sample([1,‘23‘,[4,5]],2) # #列表元素任意2个组合
15 [[4, 5], ‘23‘]
16
17 >>> random.uniform(1,3) #大于1小于3的小数
18 1.6270147180533838
19
20 >>> item=[1,3,5,7,9]
21 >>> random.shuffle(item) # 打乱次序
22 >>> item
23 [5, 1, 3, 7, 9]
24 >>> random.shuffle(item)
25 >>> item
26 [5, 9, 7, 1, 3]

应用示例:

 1 import random
 2
 3 def v_code():
 4     code = ‘‘
 5     for i in range(5):
 6         num=random.randint(0,9)
 7         alf=chr(random.randint(65,90))
 8         add=random.choice([num,alf])
 9         code="".join([code,str(add)])
10     return code
11 print(v_code())

hashlib模块

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。想要通过hash算法进行反推源数据是非常困难的,所以一般来讲,我们认为hash的值是不可逆的运算。

MD5计算:

1 import hashlib
2 md5 = hashlib.md5()
3 md5.update(‘how to use md5 in python hashlib?‘)
4 print md5.hexdigest()
5
6 计算结果如下:
7 d26a53750bc40b38b65a520292f69306

如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的:

1 md5 = hashlib.md5()
2 md5.update(‘how to use md5 in ‘)
3 md5.update(‘python hashlib?‘)
4 print md5.hexdigest()

MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。另一种常见的摘要算法是SHA1,调用SHA1和调用MD5完全类似:

1 import hashlib
2 sha1 = hashlib.sha1()
3 sha1.update(‘how to use sha1 in ‘)
4 sha1.update(‘python hashlib?‘)
5 print sha1.hexdigest()

SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。比SHA1更安全的算法是SHA256和SHA512,不过越安全的算法越慢,而且摘要长度更长。

os模块

os模块是与操作系统交互的一个接口

 1 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
 2 os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
 3 os.curdir  返回当前目录: (‘.‘)
 4 os.pardir  获取当前目录的父目录字符串名:(‘..‘)
 5 os.makedirs(‘dirname1/dirname2‘)    可生成多层递归目录
 6 os.removedirs(‘dirname1‘)    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
 7 os.mkdir(‘dirname‘)    生成单级目录;相当于shell中mkdir dirname
 8 os.rmdir(‘dirname‘)    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
 9 os.listdir(‘dirname‘)    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10 os.remove()  删除一个文件
11 os.rename("oldname","newname")  重命名文件/目录
12 os.stat(‘path/filename‘)  获取文件/目录信息
13 os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
14 os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
15 os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
16 os.name    输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘
17 os.system("bash command")  运行shell命令,直接显示
18 os.environ  获取系统环境变量
19 os.path.abspath(path)  返回path规范化的绝对路径
20 os.path.split(path)  将path分割成目录和文件名二元组返回
21 os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
22 os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
23 os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
24 os.path.isabs(path)  如果path是绝对路径,返回True
25 os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
26 os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
27 os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
28 os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
29 os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
30 os.path.getsize(path) 返回path的大小

时间: 2024-10-25 07:44:00

Python基础----模块1的相关文章

python 基础 模块

---恢复内容开始--- 模块 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块 模块分为三种: 自定义模块 第三方模块 内置模块 自定义模块 模块导入 import 语句 想使用 Python 源文件,只需在另一个源文件里执行 import 语句,当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入 当我们使用import语句的时候,Python解释器的搜索路径是由一系列目录名组成的,Python解释器就依次从这些目

python基础|模块---re模块

python中的re模块是正则技术中应用.对于正则就是正则表达式,正则表达式是独立一门技术,在各个编程体系都有它的“身影".在python中在爬虫技术中,数据分析,它都是必不可少的存在.主要利用正则表达式筛选字符串中我们需要的字符串类型数据. 正则表达式基础知识.元字符和量词. 元字符 匹配作用 . 可以匹配除换行符以外的任何字符 \w 匹配字母,数字和下滑线 \d 匹配除了数字 \s 匹配空格 \W 匹配非字母,数字和下划线 \D 匹配非数字 \S 匹配非空格 ^ 匹配^字符串开头.用法(^a

python基础-------模块与包(四)

configparser模块与 subprcess 利用configparser模块配置一个类似于 windows.ini格式的文件可以包含一个或多个节(section),每个节可以有多个参数(键=值). 配置成这样一个文件 [DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes [bitbucket.org]User = hg [topsecret.server.com]Por

python基础-------模块

在python中,只有函数,类,模块能开辟出作用域,for循环跟while循环,还有if语句是不能开辟作用域的 模块:模块就是.py文件 1,时间模块:time模块 1 import time 2 #1时间戳:是一个float类型 3 print(time.time()) #从1970年1月1日0点0分,到目前走了多少秒 4 #1493189111.495058 5 6 #2格式化时间字符串: 给人看的 7 print(time.strftime("%Y-%m-%d %X")) #%Y

Python 基础 - 模块 Module - os模块

OS模块 操作系统功能, 涉及文件及目录等操作.不受平台限制.os模块允许一个程序不需要任何改动,同时在linux 和 windows下运行.和windows下powershell以及linux里的command操作类同. 常用操作 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字

Python基础——模块

1.模块简介 把很多函数按类别分组,分别放到不同的文件里.在Python中,一个.py文件就称之为一个模块(Module).在其他语言中称之为类库. 使用模块有什么好处? (1)大大提高了代码的可维护性: (2)编写代码不必从零开始. 模块的分类: 内置模块.第三方模块.自动以模块. 2.导入模块 模块要先导入,后使用. (1)导入模块方法 import module from module.xx.xx import xx #点表示文件夹层级.可以只导入其中一个函数. from module.x

Python 第2周 - Python基础-模块\数据运算

内容 模块初识 数据运算 bytes数据类型 python数据类型 列表的使用 元组与购物车操作 购物车程序练习 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 一.模块初识 Python 库分两种:标准库(不需要安装,直接导入就可以直接使用的库).第三方库(必须安装才能使用如django).注意:编写代码时,模块名字不要跟库名字相同.系统自带模块简单举例:  sys库: 1.打印系统环境变量 sys.path: 1 import sys 2 print ("sys.path&q

python基础---模块与包

1.模块导入方法 常见的场景: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀,导入模块可以实现功能的重复利用 import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块 a. import语句 python 内置了很多模块,比如os.sys.time等,也可以是自定义模块.模块包.C扩展等,使用import无

Python基础----模块2

sys模块 sys模块提供了一系列有关Python运行环境的变量和函数. 1 #重点记忆 2 sys.argv #命令行参数List,第一个元素是程序本身路径 3 sys.exit(n) #退出执行的程序未见,正常退出时exit(0),不同于循环用的break跳出循环 4 sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 5 6 #一般 7 sys.platform #返回操作系统平台名称 8 sys.version #获取Python解释程序的版本信息 9