- import math
-
- print(dir(math))
函数 | 描述 |
math.e
| 返回欧拉数 (2.7182...) |
math.inf | 返回正无穷大浮点数 |
math.nan | 返回一个浮点值 NaN (not a number) |
math.pi | π 一般指圆周率。 圆周率 PI (3.1415...) |
math.tau |
数学常数
τ = 6.283185...
,精确到可用精度。
Tau
是一个圆周常数,等于
2π
,圆的周长与半径之
比
。
|
- import random
-
- random.seed()
- print('默认:',random.random())
- print('默认:',random.random())
-
-
- random.seed(10)
- print('使用10作为种子数:',random.random())
- print('使用10作为种子数:',random.random())
-
- random.seed('hell',2)
- print('字符串:',random.random())
- import os
- print(os.name)
- import os
- print(os.getcwd()) #获取当前工作目录
- print(os.path.abspath('test01.py')) #获取某文件的绝对路径
7.3.5.判断目录是否存在
- import os
-
- print(os.path.exists('c:\demo'))
- print(os.path.exists('F:\python\\test2\\test01.py')) #判断文件
-
- 结果:
- False
- True
一般用于创建指定路径中的最后一级目录,若上级目录不存在在会抛出异常,被创建的目录若存在也会抛出异常
例:创建一个demo目录
- import os
- os.mkdir('c:demo')
注意:上例再次执行会报错,由于目录已存在会抛出异常,所以一般会判断目录是否存在的函数一同使用,应改为:
- import os
- path='c:\\demo'
- if not os.path.exists(path):
- os.mkdir(path)
- else:
- print('目录已存在')
创建多级目录(递归目录):os.makedirs(path)
- import os
- os.makedirs('c:\\t1\\t2\\t3\\t4')
例:批量创建24个目录
- import os
- os.mkdir('c:\\python')
- for i in range(1,25):
- if not os.path.exists('c:\\python\\第{}次课'.format(i)):
- os.mkdir('c:\\python\\第{}次课'.format(i))
例:
- import os
- for i in range(1,25):
- os.rmdir('c:\\python\\第{}次课'.format(i))
可以使用shutil.rmtree(函数删除不为空的目录
注意:重命名的目录或文件不存在会抛出异常,一般需要和判断目录是否存在一同使用
7.3.9.获取文件信息
获取文件的访问时间,修改时间,大小
- import os
- print(os.stat('F:\python\\test2\\test01.py'))
7.3.11.os.path
7.
- import sys
- a=2
- if a <=2:
- sys.exit(8) #退出python,下面代码不会执行
- print(a)
- import sys
- print(sys.version)
- import sys
-
- aa = sys.stdin.readline()
- bb = input('请输入')
-
- print(len(aa)) # sys.stdin.readline()比input()多接收一个\n
- print(len(bb))
- import uuid
- name='test_name'
- namepace=uuid.NAMESPACE_DNS
- a=uuid.uuid1() #基于时间
- print(a,type(a))
-
- b=uuid.uuid3(namepace,name) #基于MD5 的散列值
- print(b,type(b))
-
- c=uuid.uuid4() #基于随机数
- print(c,type((c)))
-
- d=uuid.uuid5(namepace,name) #基于名称的SHA-1散列值
- print(d,type(d))
7.6时间日期模块
7.6.1.time模块:提供格式化时间吗,一般爬虫用
- import time
- t=time.time()
- print('当前时间戳为:' ,t)
-
- ltime=time.localtime()
- print('本地时间为:',ltime) #元组格式显示
-
- #格式化时间
- print(time.strftime('%Y-%m-%d-%H:%M:%S',time.localtime()))
- print(time.strftime('%a %b %d %H:%M:%S %Y',time.localtime()))
- import datetime as dt
-
- x=dt.datetime(2022,11,9) #yyyy-mm-dd
- y=dt.time(6,49,55,10) #
- z=dt.datetime(2022,11,9,6,50,2)
- d=dt.timedelta(3,2,1,6)
- print(x,y,z,d)
例:
- import calendar
- print(calendar.calendar(2022)) #全年的日历
-
- print(calendar.month(2022,12)) #指定某年某月的日历
-
- print(calendar.isleap(2022)) #返回是否为润年
-
- print(calendar.weekday(2022,11,9)) #返回某年某月某日是星期几
7.7.加密模块hashlib:接收传入内容,计算后得到hash值
- import hashlib
-
- obj=hashlib.md5() #创建一个hash对象
- obj.update('HELLO WORLD'.encode('utf-8')) #返回hash值
- t=obj.hexdigest() #返回加密串
- print(t)