iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中常用的内置模块汇总
  • 703
分享到

python中常用的内置模块汇总

2024-04-02 19:04:59 703人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

内置模块(一) 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 = os.path.exists(p1)
print(exists)
# 5. 创建文件夹
os.makedirs(路径)
path = os.path.join(base_path, 'xx', 'oo', 'uuuu')
if not os.path.exists(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)
print(is_dir) # True
# 7. 删除文件或文件夹
os.remove("文件路径")
path = os.path.join(base_path, 'xx')
shutil.rmtree(path)
  • listdir,查看目录下所有的文件
  • walk,查看目录下所有的文件(含子孙文件)
import os

"""
data = os.listdir("/Users/feimouren/PyCharmProjects/luffyCourse/day14/commons")
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')
shutil.rmtree(path)
# 2. 拷贝文件夹
shutil.copytree("/Users/wupeiqi/Desktop/图/csdn/","/Users/wupeiqi/PycharmProjects/CodeRepository/files")
# 3.拷贝文件
shutil.copy("/Users/wupeiqi/Desktop/图/csdn/WX20201123-112406@2x.png","/Users/wupeiqi/PycharmProjects/CodeRepository/")
shutil.copy("/Users/wupeiqi/Desktop/图/csdn/WX20201123-112406@2x.png","/Users/wupeiqi/PycharmProjects/CodeRepository/x.png")
# 4.文件或文件夹重命名
shutil.move("/Users/wupeiqi/PycharmProjects/CodeRepository/x.png","/Users/wupeiqi/PycharmProjects/CodeRepository/xxxx.png")
shutil.move("/Users/wupeiqi/PycharmProjects/CodeRepository/files","/Users/wupeiqi/PycharmProjects/CodeRepository/images")
# 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. 获取范围内的随机小数
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

Python中的文件

xml

Python中的文件

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': datetime.now()},
    {"id": 2, "name": "alex", "age": 18, 'size': Decimal("9.99"), 'ctime': datetime.now()},
]
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)
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},
]
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内置模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中常用的内置模块汇总

本文链接: https://www.lsjlt.com/news/163782.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中常用的内置模块汇总
    内置模块(一) Python内置的模块有很多,我们也已经接触了不少相关模块,接下来咱们就来做一些汇总和介绍。 内置模块有很多 & 模块中的功能也非常多,我们是没有办法注意全局...
    99+
    2024-04-02
  • python中的json模块常用方法汇总
    目录一、概述二、方法详解1.dump()2.dumps3.load4.loads三、代码实战1.dumps()2.dump()4.loads()一、概述 推荐使用参考网站: json...
    99+
    2024-04-02
  • Python中psutil模块使用汇总
    简介:psutil(进程和系统实用程序)是一个跨平台库,用于检索Python中运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监视、分析和限制进程资源以...
    99+
    2024-04-02
  • Python 常用内置模块超详细梳理总结
    目录time模块time.sleep()time.time()time.localtime()time.strftime()datetime()random模块random.rand...
    99+
    2024-04-02
  • python常见的内置模块
    内置模块 python内部提供的功能 导入模块后,直接使用即可 一、 random 随机数模块 randint:得到一个随机数 import random # 导入一个模块 v = random.randint(起始,...
    99+
    2023-01-31
    模块 常见 python
  • Node.js 中常用内置模块(path 路径模块)
    目录前言路径拼接:join方法获取文件名:basename方法获取文件扩展名:extname方法结语前言 进行服务端开发,少不了对各种路径的处理,之前我们是简单粗暴的使用字符串的方法...
    99+
    2024-04-02
  • python常用内置模块有哪些
    小编给大家分享一下python常用内置模块有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用模块当import一个模块时,自动做三件事:1. 运行...
    99+
    2023-06-26
  • Python中re模块的常用方法总结
    前言 正则表达式作为计算机科学的一个概念,通常被用来检索、替换那些符合某个规则的文本。正则表达式是对字符串操作的一种逻辑公式,用事先定义好的规则字符串对字符串进行过滤逻辑处理。 re...
    99+
    2024-04-02
  • 如何理解Python常用模块中常用内置函数
    如何理解Python常用模块中常用内置函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道...
    99+
    2023-06-17
  • python常用内置模块你了解吗
    目录使用模块time-时间模块sys-系统模块random-随时数模块os-操作系统模块总结使用模块 当import一个模块时,自动做三件事: 1. 运行一遍该模块内的所有代码(保证...
    99+
    2024-04-02
  • Python常用库汇总
    fuzzywuzzy ,字符串模糊匹配。   esmre ,正则表达式的加速器。   colorama 主要用来给文本添加各种颜色,并且非常简单易用。   Prettytable 主要用于在终端或浏览器端构建格式化的输出。   dif...
    99+
    2023-01-31
    常用 Python
  • python 内置模块
    一.random模块  随机        random()    随机小数             uninform(a,b) 随机小数 randint(a,b)  随机整数 choice() 随机选择一个 sample() 随机选择...
    99+
    2023-01-30
    模块 python
  • Python中re模块常用方法总结分析
    re.findall() 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 语法格式: re.findall(pattern, stri...
    99+
    2024-04-02
  • Python错误+异常+模块总结
    目录错误和异常语法错误异常异常处理抛出异常模块前言: 本篇主要讲两方面,错误和异常以及模块。在编程时遇见错误信息在所难免,Python中会也有很多种错误信息,常见的两种就是语法错误和...
    99+
    2024-04-02
  • Python中turtle库常用代码汇总
    目录一、设置画布二、画笔1、画笔属性2、绘图命令3. 命令详解三、文字显示为一个圆圈四、画朵小花总结一、设置画布 turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置 ...
    99+
    2024-04-02
  • python 内置模块collectio
    1、namedtuple from collections import namedtuple websites = [('Sohu', 'http://www.google.com/', u'张朝阳'),('Sina', 'http://...
    99+
    2023-01-31
    模块 python collectio
  • python内置模块~shutil
    --High-level file operations,高级的文件操作模块~shutil 模块的使用主要包括对文件及目录的移动、复制、打包、压缩(解压)、删除等操作。是对os模块的一个补充~ shutil.copyfileobj(fs...
    99+
    2023-01-31
    模块 python shutil
  • Node.js中的常见内置模块有哪些
    本篇内容主要讲解“Node.js中的常见内置模块有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的常见内置模块有哪些”吧!内置模块path路...
    99+
    2024-04-02
  • Nginx的一些常用配置汇总
    目录Nginx配置文件结构Nginx日志切割root 与 alias使用GZIP压缩提升请求效率location匹配规则解析使用SwitchHosts模拟本地域名解析Nginx跨域配...
    99+
    2024-04-02
  • python中的Pytorch建模流程汇总
    目录1导入库2设置初始值3导入并制作数据集4定义神经网络架构5定义训练流程6训练模型本节内容学习帮助大家梳理神经网络训练的架构。 一般我们训练神经网络有以下步骤: 导入库设置训练参数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作