欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python常用的内置函数

程序员文章站 2022-05-29 22:12:52
...

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)	

python常用的内置函数

加密模块(安全性)

加密算法:
 不可逆加密(哈希加密、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"))#加盐混淆

python常用的内置函数

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