python中常⽤的内置模块汇总
内置模块(⼀)
Python内置的模块有很多,我们也已经接触了不少相关模块,接下来咱们就来做⼀些汇总和介绍。
内置模块有很多 & 模块中的功能也⾮常多,我们是没有办法注意全局给⼤家讲解,在此我会整理出项⽬开发最常⽤的来进⾏讲解。
os
import os
# 1. 获取当前脚本绝对路径
"""
abs_path = os.path.abspath(__file__)
print(abs_path)
# 2. 获取当前⽂件的上级⽬录
base_path = os.path.dirname( os.path.dirname(路径) )
print(base_path)
# 3. 路径拼接
p1 = os.path.join(base_path, 'xx')
print(p1)
p2 = os.path.join(base_path, 'xx', 'oo', 'a1.png')
print(p2)
# 4. 判断路径是否存在
exists = ists(p1)
print(exists)
# 5. 创建⽂件夹
os.makedirs(路径)
path = os.path.join(base_path, 'xx', 'oo', 'uuuu')
if not ists(path):
os.makedirs(path)
# 6. 是否是⽂件夹
file_path = os.path.join(base_path, 'xx', 'oo', 'uuuu.png')
is_dir = os.path.isdir(file_path)
print(is_dir) # False
folder_path = os.path.join(base_path, 'xx', 'oo', 'uuuu')
is_dir = os.path.isdir(folder_path)eclipse下载64位
print(is_dir) # True
# 7. 删除⽂件或⽂件夹
path = os.path.join(base_path, 'xx')
python基础代码实例<(path)
listdir,查看⽬录下所有的⽂件
walk,查看⽬录下所有的⽂件(含⼦孙⽂件)
import os
"""
data = os.listdir("/Users/feimouren/PycharmProjects/luffyCourse/day14/commons")
web前端游戏开发
print(data)
# ['convert.py', '__init__.py', 'page.py', '__pycache__', 'utils.py', 'tencent']# ⽆法查看⽂件夹中⼦⽂件夹中的⽂件
要遍历⼀个⽂件夹下的所有⽂件,例如:遍历⽂件夹下的所有mp4⽂件  data获取到的是⼀个⽣成器,在编列⽣成器时,会获取到三个元素,1.⽂件夹路径,2.⽂件夹中的⽂件夹,3.⽂件在遍历时,如果⽂件夹中还有⽂件夹,那么会继续遍历这个⽂件夹同样会获取data = os.walk("/Users/wupeiqi/Documents/视频教程/飞Python/mp4")
for path, folder_list, file_list in data:
for file_name in file_list:
file_abs_path = os.path.join(path, file_name)
ext = file_abs_path.rsplit(".",1)[-1]
if ext == "mp4":
print(file_abs_path)
shutil
import shutil
# 1. 删除⽂件夹
"""
path = os.path.join(base_path, 'xx')
<(path)
# 2. 拷贝⽂件夹
# 3.拷贝⽂件
# 4.⽂件或⽂件夹重命名
# 5. 压缩⽂件
# base_name,压缩后的压缩包⽂件
# format,压缩的格式,例如:"zip", "tar", "gztar", "bztar", or "xztar".
# root_dir,要压缩的⽂件夹路径
# shutil.make_archive(base_name=r'datafile',format='zip',root_dir=r'files')
# 6. 解压⽂件
# filename,要解压的压缩包⽂件
# extract_dir,解压的路径
# format,压缩⽂件格式
# shutil.unpack_archive(filename=r'datafile.zip', extract_dir=r'xxxxxx/xo', format='zip')
sys
import sys
# 1. 获取解释器版本
"""
print(sys.version)
print(sys.version_info)
print(sys.version_info.major, sys.version_info.minor, sys.version_info.micro)
# 2. 导⼊模块路径
print(sys.path)
random
import random
# 1. 获取范围内的随机整数
v = random.randint(10, 20)
print(v)
# 2. 获取范围内的随机⼩数
spice仿真
v = random.uniform(1, 10)
# 3. 随机抽取⼀个元素
v = random.choice([11, 22, 33, 44, 55])
# 4. 随机抽取多个元素
v = random.sample([11, 22, 33, 44, 55], 3)
# 5. 打乱顺序
data = [1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(data)
print(data)
hashlib
import hashlib
hash_object = hashlib.md5()
hash_object.update("武沛齐".encode('utf-8'))
result = hash_object.hexdigest()
print(result)
import hashlib
hash_object = hashlib.md5("iajfsdunjaksdjfasdfasdf".encode('utf-8'))
hash_object.update("武沛齐".encode('utf-8'))
result = hash_object.hexdigest()
print(result)
"""
在加密时,为了防⽌密码被撞出来,通常会在第⼆⾏代码处加盐
,即添加我们⾃⼰知道的随机的字符串,这样就可以防⽌别⼈破解密码
"""
configparser
xml
json
json模块,是python内部的⼀个模块,可以将python的数据格式转换为json格式的数据,也可以将json格式的数据转换为python的数据格式。
json格式,是⼀个数据格式(本质上就是个字符串,常⽤语⽹络数据传输)
# Python中的数据类型的格式
data = [
{"id": 1, "name": "飞某⼈", "age": 18},
{"id": 2, "name": "alex", "age": 18},
('feimouren',123),
]
# JSON格式
value = '[{"id": 1, "name": "飞某⼈", "age": 18}, {"id": 2, "name": "alex", "age": 18},["feimouren",123]]'
Python数据类型与json格式的相互转换:
数据类型 -> json ,⼀般称为:序列化
跨语⾔数据传输,例如:
A系统⽤Python开发,有列表类型和字典类型等。
B系统⽤Java开发,有数组、map等的类型。
语⾔不同,基础数据类型格式都不同。
为了⽅便数据传输,⼤家约定⼀个格式:json格式,每种语⾔都是将⾃⼰数据类型转换为json格式,也可以将json格式的数据转换为⾃⼰的数据类型。Python数据类型与json格式的相互转换:
json格式 -> 数据类型,⼀般称为:反序列化
# 实际就是将python的语法代码变成了字符串
import json
data = [
{"id": 1, "name": "飞某⼈", "age": 18},
{"id": 2, "name": "alex", "age": 18},
]
res = json.dumps(data)  # ⾥⾯的中⽂字符会根据unicode编码将中⽂转换成16进制
print(res) # [{"id": 1, "name": "\u98de\u67d0\u4eba", "age": 18}, {"id": 2, "name": "alex", "age": 18}]
res = json.dumps(data, ensure_ascii=False)    # 设置参数为False后,会保留中⽂
print(res) # [{"id": 1, "name": "飞某⼈", "age": 18}, {"id": 2, "name": "alex", "age": 18}]
json格式 -> 数据类型,⼀般称为:反序列化
""" 反序列化,将特定的字符串变成python中有语法意义的代码"""
import json
data_string = '[{"id": 1, "name": "飞某⼈", "age": 18}, {"id": 2, "name": "alex", "age": 18}]'
# 将字符串data_string变成了data_list列表
data_list = json.loads(data_string)
print(type(data_list), data_list)
for x in data_list:
print(x)
"""
运⾏结果:
<class 'list'> [{'id': 1, 'name': '飞某⼈', 'age': 18}, {'id': 2, 'name': 'alex', 'age': 18}]
{'id': 1, 'name': '飞某⼈', 'age': 18}
{'id': 2, 'name': 'alex', 'age': 18}
类型要求
python的数据类型转换为 json 格式,对数据类型是有要求的,默认只⽀持:
+-------------------+---------------+
| Python            | JSON          |
+===================+===============+
| dict              | object        |
+-------------------+---------------+
| list, tuple      | array        |
+-------------------+---------------+
| str              | string        |
+-------------------+---------------+
| int, float        | number        |
+-------------------+---------------+
| True              | true          |
+-------------------+---------------+
| False            | false        |
+-------------------+---------------+
| None              | null          |
+-------------------+---------------+
其他类型如果想要⽀持,需要⾃定义JSONEncoder才能实现
import json
from decimal import Decimal
from datetime import datetime
data = [
{"id": 1, "name": "武沛齐", "age": 18, 'size': Decimal("18.99"), 'ctime': w()},
{"id": 2, "name": "alex", "age": 18, 'size': Decimal("9.99"), 'ctime': w()},
]
class MyJSONEncoder(json.JSONEncoder):
def default(self, o):
if type(o) == Decimal:
return str(o)
elif type(o) == datetime:
return o.strftime("%Y-%M-%d")
return super().default(o)
res = json.dumps(data, cls=MyJSONEncoder)
match函数和vlookup嵌套
print(res)
其他功能
json模块中常⽤的是:
json.dumps,序列化⽣成⼀个字符串。
json.loads,发序列化⽣成python数据类型。
json.dump,将数据序列化并写⼊⽂件(不常⽤)
json.load,读取⽂件中的数据并反序列化为python的数据类型(不常⽤)
"""将序列化的代码写⼊⽂件中使⽤dump"""
import json
data = [
{"id": 1, "name": "飞某⼈", "age": 18},
{"id": 2, "name": "alex", "age": 18},
]phpqrcode
file_object = open('xxx.json', mode='w', encoding='utf-8')
json.dump(data, file_object)  # 将data列表进⾏序列化,写⼊file_object.json⽂件中
file_object.close()
"""将⽂件中的特定字符串反序列化成python中的代码"""
import json
file_object = open('xxx.json', mode='r', encoding='utf-8')
data_list = json.load(file_object)
print(type(data_list),data_list)
"""
运⾏结果:
<class 'list'> [{'id': 1, 'name': '飞某⼈', 'age': 18}, {'id': 2, 'name': 'alex', 'age': 18}]
"""
到此这篇关于python中常⽤的内置模块的⽂章就介绍到这了,更多相关python内置模块内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。