python常用的内置函数

python有许多的内置模块,出来python自带的,还有许多的第三方模块,下面我们就来看看python常用的模块吧。

os(系统进行交换的模块)与sys
os模块:

import os
#print(os.getcwd())#获取当前目录路径,或脚本路径
#print(os.listdir())#获取当前和所有的文件
#os.remove("文件名")#删除文件
#os.remove(r"c:\目录名")删除目录

#os.system("ipconfig")#运行shell命令,查看网卡
#os.remove("lx.py","haha.py")#修改文件名称
#os.mkdirs("c/d/e/f/g")#创建多个目录
print(os.stat("lx.py"))#获取文件属性

os.path(os中的一个单独的子模块)

#os.path.isfile("文件名")#判断是否为一个文件
#os.path.isdir("目录名称")#判断是否为目录
#os.path.exists('路径名称')#判断路径是否存在
#print(os.path.abspath("lx.py"))#获取绝对路径
#print(os.path.basename("lx.py"))#只获取文件名称
|-- join(路径,*路径)
#连接两个(或多个)路径。

|-- split(路径)	
#返回元组(头,尾),尾是最后一个斜杠之后的所有内容。


sys模块:

import sys
print(sys.path)#获取系统环境变量
print(sys.argv)#获取脚本参数

	|-- sys.api_version		# 获取python内核代码版本号
	|-- exit()			# 退出系统
	|-- getdefaultencoding()  #返回Unicode所使用的当前默认字符串编码

实现。
	|-- getfilesystemencoding()  #返回用于转换Unicode文件名的编码

操作系统文件名。


	|-- getrecursionlimit()     #返回递归限制的当前值,即最大深度

Python解释器堆栈的。这个极限阻止了无穷大递归避免导致C栈溢出和Python崩溃。


	|-- getrefcount()		# 获取引用计数的个数

	|-- setrecursionlimit()   #将Python解释器堆栈的最大深度设置为n

limit防止无限递归导致C溢出堆栈和崩溃的Python。最高可能的限制是平台-

相关的。


	|-- stdin			# 标准输入流(standard input)
	|-- stdout			# 标准输出流(standard output)

random模块


import random
random.randrange(1,10)#返回随机数,不包括10
random.randint(1,10)#返回随机数,包括10
print(random.randrange(1,100,2))#随机选取1——10的偶数
random.random()#随机返回一个浮点数
random.choice("absdcenercrn")#返回给定区间内的随机字符
print(random.sample("sxmssnxneinx",3))#从多个中选取特定数量的字符

#洗牌
a=[1,2,3,4,5,6,7,8,9]
random.shuffle(a)#随机打乱列表
print(a)
'''
现象:[4, 1, 3, 7, 5, 2, 8, 9, 6]
'''

math模块(数学模块)

 三角函数相关的:
	acos(返回x的反余弦(以弧度为单位))
	acosh   (返回x的反双曲余弦。)
	asin ( 返回x的反正弦(以弧度为单位))。
	asinh  (返回x的反双曲正弦。)
	atan  (返回x的反正切(以弧度为单位)。

	cos  (返回x的余弦值(以弧度为单位))
	sin   (返回x的正弦值(以弧度为单位))
	tan  (返回x的正切(以弧度为单位))

|-- ceil			# 向上取整
|-- floor			# 向下取整
|-- fabs			#返回浮点数x的绝对值。
|-- pow				# 幂次方
|-- sqrt			# 开平方根

time

|-- asctime([tuple])			# 把当前时间以字符串格式展示
|-- ctime([seconds])			# 把当前时间以字符串格式展示
|-- gmtime()				# 构建一个时间对象(元组对象)(year, mon, day, hours, min, secs),以格林威治时间(UTC)
|-- localtime()				# 构建一个时间对象(元组对象)(year, mon, day, hours, min, secs),以本地时区
|-- mktime()				# 将时间对象转换为ctime
|-- sleep()				# 让当前线程,休眠
|-- strftime()				# 将时间对象格式化为需要的任意格式字符串
|-- strptime()				# 将字符串转换为时间对象
|-- time.time()				# 时间戳

datetime(可以看成time模块的补充)

time与datetime
datatime模块:
import datetime
#日期表达
	|-- date		# 构建日期
	|-- time		# 构建时间
	|-- timezone		# 构建时区
	|-- datetime		# 构建日期+时间
print(datetime.datetime.now())#输出当前时间,小时分钟秒

#时间运算
time=datetime.datetime.now()
print(time+datetime.timedelta(2))#增加时间2print(time+datetime.timedelta(-2))#减少2print(time+datetime.timedelta(-2,hours=6))#减少2天,加5小时

#时间替换
print(time.replace(year=2021,month=11,day=20))#时间替换为20211120

calendar(日历)

import  calendar

print(calendar.calendar(2021))	# 打印2021的日历

uid
1、什么是uuid?
UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准(特点:不可重复)
2、python如何获取uuid

import uuid
id = str(uuid.uuid4())  # 获取uuid
print(id)	

在这里插入图片描述

加密模块(安全性)

加密算法:
 不可逆加密(哈希加密、hash算法)
		整个加密是单向的,不可逆的,结果是唯一的
	
		主要作用:密码加密
			  数据校验		
可逆加密
		对称加密
			加密和解密的秘钥是同一个!!
			DES

	    非对称加密
			加密和解密使用一对秘钥
			数字签名:私钥和公钥一起使用;私钥用来解密和签名,公钥用来加密和验证。(证书标准为X.509)

hashlib

import hashlib
#MD5加密不可逆向解析
#破解方法:先存储下来(彩虹表),根据加密后的密文进行反向查询。(md5的碰撞)(可在网站md5上查看)
#加盐混淆加密算法(不断加密):增加难度
mds="sadjsajc"#加密的明文
md5=hashlib.md5()#创建对象
md5.update(mds.encode("utf-8"))#更新加密明文
print(md5.hexdigest())#显示加密后内容


#加盐混淆加密算法
md5=hashlib.md5("123456".encode("utf-8"))
md5.update("789".encode("utf-8"))#加盐混淆

在这里插入图片描述

hmac

import hmac
#使用哈希算法同时,进行对称加密

hmac.new("123456".encode("utf-8"),"sadcndsak".encode("utf-8"),"MD5")
h=hmac.new("123445".encode("utf-8"),digestmod="MD5")#加盐混淆
print(h.hexdigest())

IO流
1、什么叫做IO流

IO Stream(input output stream):
	狭义上:内存和永久存储设备之间数据流动
	广义上:内存和(其他电脑|其他存储设备)间数据的交互

你可能感兴趣的:(python,python)