import 关键字导入 --------- import math
import 模块名称 as alias(别名)
import hashlib as h (给hashlib起别名)
from 包 import 模块名称
该模块主要用来产生随机数(伪随机数,计算机产生不了真正的随机数,是依靠算法来计算的)
方法 | 说明 |
---|---|
randint() | 产生随机整数[m,n] |
random() | 产生一个0~1内的随机数[0,1) random.random() 可以乘10取整得到0·9的整数 |
uniform(a,b) | 产生基于正态分布的随机数(一般用不到) |
randrange(a) | 产生一个范围的随机数 |
choice() | 在序列(有序的,set是无序的)中随机筛选一个元素 ls=[1,2,3,4,5,6,7,8,9] random.choice(ls) s = {1,2,3,4,5,6,7} random.choice(s)-----报错 |
#产生随机整数
print(random.randint(1,100))
#产生一个0~1内的随机数[0,1)
print(random.random())
#产生基于正态分布的随机数
print(random.uniform(1,100)) #58.09451352231632
#产生一个范围的随机数
for i in range(1, 10):
print(random.randrange(1, 10, 3))
#在序列(**有序的**,set是无序的)中随机筛选一个元素
lst = [i for i in range(1, 11)]
print(lst) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(random.choice(lst)) #9
math主要的作用是数学运算
方法 | 说明 |
---|---|
ceil | (天花板的意思) 向上取整 |
floor | 向下取整 注意:四舍五入(全局函数中的round) |
e | 属性 自然常数 |
fabs | 求绝对值 等价于全局函数abs() |
fmod | 求模 |
isnan | 判断是不是一个数字(是数字返回flase nan---not a number) |
isfinite | 判断是不是无限 |
pi | 圆周率 |
pow() | 幂次方 |
sqrt | 根号 开平方根 |
print(math.pow(2, 3)) #计算2的3次方
print(math.ceil(9.001)) #找最接近的最大的整数10
print(math.floor(9.9999)) #找最接近的最小的整数9
print(math.sqrt(4)) #2.0
print(pow(2,3)) #8
from math import pi
print(pi) #3.141592653589793
操作的是系统的文件系统
os.system("cls")-----清屏
方法 | 说明 |
---|---|
chdir(path) | 修改当前工作目录 os.chdir("c:\")------os.chdir("..") ,一般不会更改 |
curdir | 获取当前目录 属性 注意返回的是相对路径 (绝对路径os.path.abspath(os.curdir)) |
chmod() | 修改权限 主要用在linux,help(os.chmod)(不做演示) |
close | 关闭文件路径(不做演示) |
cpu_count() | 返回cpu的核 对应线程数(2核4线程) |
getcwd() | 获取当前路径,返回的是绝对路径 ,相当于linux的pwd 如: os.getcwd() |
getpid() | 获取当前进程的进程编号(任务管理器---详细信息) |
getppid() | 获取当前进程的父进程的进程编号 |
kill() | 通过进程编号杀死进程(明白就行) |
linesep | 对应系统下的换行符 |
listdir() | 返回对应目录下的所有文件及文件夹(隐藏文件也可以调取出来),返回的是列表os.listdir("C:\test") |
makedirs() | 创建目录,支持创建多层目录(文件夹)os.makedirs("a/b/c/d") |
mkdir | 创建目录,只支持一层创建,不能创建多层 |
open | 创建文件,等价于全局函数open (IO流详细讲) |
pathsep | 获取环境变量的分隔符 windows ; linux : |
sep | 路径的分割符 windows \ linux / |
remove(文件名或者路径) | 删除文件 os.remove(b.text) |
removedirs() | 移除指定目录,当前目录如果不是空的,不能移除 |
system | 执行终端命令 |
先引入Import os 模块,在os模块里面有个很重要的模块path,要注意path是一个子模块,可以通过help(os.path)查看帮助文档
那么此模块的导入方式:先导入os模块,使用dir(os.path);其次可以直接import os.path导入模块;import os.path as p ----------dir(p);from os import path
方法 | 说明 |
---|---|
abspath(相对路径) | 返回路径对应的绝对路径(完整的路径) path.abspath(".") |
altsep | 查看python中的各种符号 |
basename | 文件名称,shell编程里面也有 path.basename("路径") |
dirname | 文件所在的目录,shell编程里面也有 |
exists | 判断文件或者目录是否存在(特别有用,使用爬虫爬取数据的时候需要判断是否有这个文件或者文件夹) |
getctime | 创建时间(不做演示) |
getmtime | 修改时间(不做演示) |
getsize | 获取文件的大小,单位是字节 |
isdir | 判断path是不是目录(文件夹) |
isfile | 判断path是不是文件 |
isabs | 判断是不是绝对路径(不演示) |
islink | 判断是不是连接(不演示) |
ismount | 判断是不是挂载文件(Linux下要用的)(不演示) |
join (p1,p2) | 拼接路径 name="123.txt" url="C:/a/b/c" url +"/"+name path.jion(url,name) |
sep | 路径分隔符 url + path.sep +name |
split | 分割或拆分当前路径 os.path.split("C://desktop") |
realpath | 返回真实路径 和abspath一样 |
print(os.path.abspath('123321.py'))
#用于获取文件或目录的绝对路径.D:\789\python\123321.py
print(os.path.exists('closure.py'))
#用于判断文件或目录是否存在,如果存在返回True,否则返回False
print(os.path.join('E\\Python', '123321.py'))
#将目录与目录或文件名拼接起来,E\Python\123321.py
print(os.path.split('D:\\789\\python\\123321.py'))
#目录与文件进行拆分,('D:\\789\\python', '123321.py')
print(os.path.splitext('study2.py'))
#分离文件名和扩展名,('study2', '.py')
print(os.path.basename('D:\\789\\python\\123321.py'))
#从一个目录中提取文件名,123321.py
print(os.path.dirname('D:\\789\\python\\123321.py'))
# 从一个路径中提取文件路径,不包括文件名,D:\789\python
print(os.path.isdir('D:\\789\\python\\123321.py'))
#判断是否为路径,FALSE
?
import os
# 查找指定目录下的.py文件
path = os.getcwd()
lst = os.listdir(path)
for filename in lst:
if filename.endswith('.py'):
print(filename)
#tr_data.py
study(random).py
study(requests).py
study1.py
study2.py
try except.py
tuple list bytes.py
with read,write.py
Python提供的一个 time模块来格式化时间,在python爬虫等应用中相当有用
print(dir(time))
方法 | 说明 |
---|---|
asctime() | 获取当前时间 |
ctime() | 获取当前时间 |
localtime() | 获取本地时间 返回的是对象,方便自己完成格式化 ltiem = time.localtime() ltiem.tm_year print("%s-%s-%s %s:%s:%s" % (ltiem.tm_year, ltiem.tm_mon, ltiem.tm_mday, ltiem.tm_hour, ltiem.tm_min, ltiem.tm_sec)) |
sleep(1) | 表示休眠时间,单位是秒 |
time() | 获取当前系统的时间戳,单位是秒(计算机从1970年0时0分0秒到现在秒数) |
strftime() | 将时间对象格式化为字符串 f---format help(time.strftime) time.strftime("%Y-%m-%d") |
strptime() | 将一个特定格式的时间字符串转换成时间对象 help(time.strptime) s="2019-08-03 07:35:35" type(s) time.strptime(s,"%Y-%m-%d %H:%M:%S") |
?
print(time.asctime()) #Sun Jan 14 11:43:47 2024
print(time.ctime())#Sun Jan 14 11:43:47 2024
print(time.localtime()) #time.struct_time(tm_year=2024, tm_mon=1, tm_mday=14, tm_hour=11, tm_min=44, tm_sec=40, tm_wday=6, tm_yday=14, tm_isdst=0)
print(time.sleep(3)) #休眠时间
print(time.time()) #1705203956.5750122
print(time.strftime("%Y-%m-%d")) #2024-01-14