欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中常用的內(nèi)置模塊匯總

 更新時間:2022年01月26日 09:08:58   作者:J.FengS  
Python內(nèi)置的模塊有很多,我們也已經(jīng)接觸了不少相關(guān)模塊,接下來咱們就來做一些匯總和介紹,在此我會整理出項目開發(fā)最常用的來進(jìn)行講解,感興趣的朋友跟隨小編一起看看吧

內(nèi)置模塊(一)

Python內(nèi)置的模塊有很多,我們也已經(jīng)接觸了不少相關(guān)模塊,接下來咱們就來做一些匯總和介紹。

內(nèi)置模塊有很多 & 模塊中的功能也非常多,我們是沒有辦法注意全局給大家講解,在此我會整理出項目開發(fā)最常用的來進(jìn)行講解。

os

import os

# 1. 獲取當(dāng)前腳本絕對路徑
"""
abs_path = os.path.abspath(__file__)
print(abs_path)
# 2. 獲取當(dāng)前文件的上級目錄
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. 創(chuàng)建文件夾
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.文件  在遍歷時,如果文件夾中還有文件夾,那么會繼續(xù)遍歷這個文件夾同樣會獲取三個元素。
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. 導(dǎo)入模塊路徑
print(sys.path)

random

import random

# 1. 獲取范圍內(nèi)的隨機(jī)整數(shù)
v = random.randint(10, 20)
print(v)
# 2. 獲取范圍內(nèi)的隨機(jī)小數(shù)
v = random.uniform(1, 10)
# 3. 隨機(jī)抽取一個元素
v = random.choice([11, 22, 33, 44, 55])
# 4. 隨機(jī)抽取多個元素
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)
"""
在加密時,為了防止密碼被撞出來,通常會在第二行代碼處加鹽
,即添加我們自己知道的隨機(jī)的字符串,這樣就可以防止別人破解密碼
"""

configparser

Python中的文件

xml

Python中的文件

json

json模塊,是python內(nèi)部的一個模塊,可以將python的數(shù)據(jù)格式 轉(zhuǎn)換為json格式的數(shù)據(jù),也可以將json格式的數(shù)據(jù)轉(zhuǎn)換為python的數(shù)據(jù)格式。

json格式,是一個數(shù)據(jù)格式(本質(zhì)上就是個字符串,常用語網(wǎng)絡(luò)數(shù)據(jù)傳輸)

# Python中的數(shù)據(jù)類型的格式
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數(shù)據(jù)類型與json格式的相互轉(zhuǎn)換:

數(shù)據(jù)類型 -> json ,一般稱為:序列化

跨語言數(shù)據(jù)傳輸,例如:
    A系統(tǒng)用Python開發(fā),有列表類型和字典類型等。
    B系統(tǒng)用Java開發(fā),有數(shù)組、map等的類型。

    語言不同,基礎(chǔ)數(shù)據(jù)類型格式都不同。
    
    為了方便數(shù)據(jù)傳輸,大家約定一個格式:json格式,每種語言都是將自己數(shù)據(jù)類型轉(zhuǎn)換為json格式,也可以將json格式的數(shù)據(jù)轉(zhuǎn)換為自己的數(shù)據(jù)類型。

Python數(shù)據(jù)類型與json格式的相互轉(zhuǎn)換:

json格式 -> 數(shù)據(jù)類型,一般稱為:反序列化

# 實際就是將python的語法代碼變成了字符串
import json

data = [
    {"id": 1, "name": "飛某人", "age": 18},
    {"id": 2, "name": "alex", "age": 18},
]
res = json.dumps(data)  # 里面的中文字符會根據(jù)unicode編碼將中文轉(zhuǎn)換成16進(jìn)制
print(res) # [{"id": 1, "name": "\u98de\u67d0\u4eba", "age": 18}, {"id": 2, "name": "alex", "age": 18}]
res = json.dumps(data, ensure_ascii=False)     # 設(shè)置參數(shù)為False后,會保留中文
print(res) # [{"id": 1, "name": "飛某人", "age": 18}, {"id": 2, "name": "alex", "age": 18}]

json格式 -> 數(shù)據(jù)類型,一般稱為:反序列化

""" 反序列化,將特定的字符串變成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)
"""
運行結(jié)果:
<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的數(shù)據(jù)類型轉(zhuǎn)換為 json 格式,對數(shù)據(jù)類型是有要求的,默認(rèn)只支持:

+-------------------+---------------+
    | Python            | JSON          |
    +===================+===============+
    | dict              | object        |
    +-------------------+---------------+
    | list, tuple       | array         |
    +-------------------+---------------+
    | str               | string        |
    +-------------------+---------------+
    | int, float        | number        |
    +-------------------+---------------+
    | True              | true          |
    +-------------------+---------------+
    | False             | false         |
    +-------------------+---------------+
    | None              | null          |
    +-------------------+---------------+

其他類型如果想要支持,需要自定義JSONEncoder才能實現(xiàn)

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,發(fā)序列化生成python數(shù)據(jù)類型。
  • json.dump,將數(shù)據(jù)序列化并寫入文件(不常用)
  • json.load,讀取文件中的數(shù)據(jù)并反序列化為python的數(shù)據(jù)類型(不常用)
"""將序列化的代碼寫入文件中使用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列表進(jìn)行序列化,寫入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)
"""
運行結(jié)果:
<class 'list'> [{'id': 1, 'name': '飛某人', 'age': 18}, {'id': 2, 'name': 'alex', 'age': 18}]
"""

到此這篇關(guān)于python中常用的內(nèi)置模塊的文章就介紹到這了,更多相關(guān)python內(nèi)置模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)的科學(xué)計算器功能示例

    Python實現(xiàn)的科學(xué)計算器功能示例

    這篇文章主要介紹了Python實現(xiàn)的科學(xué)計算器功能,涉及Python基于數(shù)值運算與事件響應(yīng)實現(xiàn)科學(xué)計算器功能相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Django 自定義分頁器的實現(xiàn)代碼

    Django 自定義分頁器的實現(xiàn)代碼

    這篇文章主要介紹了Django 自定義分頁器的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • python 提取文件指定列的方法示例

    python 提取文件指定列的方法示例

    這篇文章主要介紹了python 提取文件指定列的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • pytorch masked_fill報錯的解決

    pytorch masked_fill報錯的解決

    今天小編就為大家分享一篇pytorch masked_fill報錯的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python數(shù)據(jù)分析之如何刪除value=0的行

    python數(shù)據(jù)分析之如何刪除value=0的行

    這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之如何刪除value=0的行的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-12-12
  • python ElementTree 基本讀操作示例

    python ElementTree 基本讀操作示例

    python ElementTree 基本讀操作示例
    2009-04-04
  • 用python對oracle進(jìn)行簡單性能測試

    用python對oracle進(jìn)行簡單性能測試

    這篇文章主要介紹了用python對oracle進(jìn)行簡單性能測試的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 淺談如何使用python抓取網(wǎng)頁中的動態(tài)數(shù)據(jù)實現(xiàn)

    淺談如何使用python抓取網(wǎng)頁中的動態(tài)數(shù)據(jù)實現(xiàn)

    這篇文章主要介紹了淺談如何使用python抓取網(wǎng)頁中的動態(tài)數(shù)據(jù)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python學(xué)習(xí)之字符串常用方法總結(jié)

    Python學(xué)習(xí)之字符串常用方法總結(jié)

    這篇文章主要為大家介紹了Python中字符串的幾個常用方法總結(jié),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python字符串有一定幫助,需要的可以參考一下
    2022-03-03
  • Python 計算任意兩向量之間的夾角方法

    Python 計算任意兩向量之間的夾角方法

    今天小編就為大家分享一篇Python 計算任意兩向量之間的夾角方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07

最新評論