最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python常用內(nèi)置模塊日志、隨機(jī)數(shù)、時(shí)間、OS與JSON詳解

 更新時(shí)間:2026年05月12日 09:35:16   作者:毋語(yǔ)天  
本文介紹了Python開(kāi)發(fā)中常用的五大模塊:日志、隨機(jī)數(shù)、時(shí)間、系統(tǒng)文件操作及JSON數(shù)據(jù)處理,詳細(xì)講解了各模塊的的常見(jiàn)函數(shù)及其應(yīng)用場(chǎng)景,需要的朋友可以參考下

在 Python 開(kāi)發(fā)中,內(nèi)置標(biāo)準(zhǔn)庫(kù)提供了大量開(kāi)箱即用的實(shí)用模塊,能極大提升開(kāi)發(fā)效率。本文集中梳理五大常用模塊——logging / loguru(日志)、random(隨機(jī)數(shù))time(時(shí)間)、**os(系統(tǒng)交互)**和 json(數(shù)據(jù)序列化),覆蓋日常使用頻率最高的函數(shù)與用法。

一、日志模塊

日志是排查問(wèn)題的關(guān)鍵手段,Python 自帶的 logging 是標(biāo)準(zhǔn)解決方案,而第三方庫(kù) loguru 則進(jìn)一步簡(jiǎn)化了日志操作。

1. logging(標(biāo)準(zhǔn)庫(kù))

logging 內(nèi)置五種日志級(jí)別,從低到高依次為:

級(jí)別數(shù)值含義
DEBUG10詳細(xì)調(diào)試信息
INFO20正常運(yùn)行信息
WARNING30警告,但程序仍可運(yùn)行
ERROR40錯(cuò)誤,部分功能受影響
CRITICAL50嚴(yán)重錯(cuò)誤,程序可能崩潰

基礎(chǔ)用法:

import logging

logging.debug("這是調(diào)試信息")
logging.info("程序啟動(dòng)")
logging.warning("磁盤空間不足")
logging.error("數(shù)據(jù)處理失敗")
logging.critical("服務(wù)宕機(jī)")

默認(rèn)輸出到控制臺(tái),且只有 WARNING 及以上級(jí)別會(huì)被打印。可以通過(guò) basicConfig 調(diào)整輸出格式、等級(jí)和文件路徑。

2. loguru(更友好的日志庫(kù))

loguru 是第三方庫(kù),以更簡(jiǎn)潔的 API 和更美觀的輸出著稱。

安裝:

pip install loguru

導(dǎo)入與使用:

from loguru import logger

logger.debug("調(diào)試信息")
logger.info("普通信息")
logger.success("成功信息")   # loguru 特有
logger.warning("警告")
logger.error("錯(cuò)誤")
logger.critical("嚴(yán)重錯(cuò)誤")

loguru 的亮點(diǎn)功能:

  • logger.add("file.log") 將日志輸出到文件。
  • logger.remove() 可移除默認(rèn)控制臺(tái)輸出,方便自定義。
logger.remove()                # 移除默認(rèn) handler
logger.add("app.log", rotation="1 MB")  # 文件日志,自動(dòng)輪轉(zhuǎn)

二、random 模塊

隨機(jī)數(shù)在測(cè)試、模擬、抽獎(jiǎng)等場(chǎng)景中非常常用。

  • random.randint(a, b):返回 [a, b] 范圍內(nèi)的隨機(jī)整數(shù)(閉區(qū)間)。
import random
print(random.randint(1, 100))   # 1~100 的隨機(jī)整數(shù)
  • random.random():返回 [0.0, 1.0) 的隨機(jī)浮點(diǎn)數(shù)。
print(random.random())          # 0.0 ~ 1.0(不含 1.0)
  • random.choice(seq):從非空序列(列表、元組、字符串)中隨機(jī)取出一個(gè)元素。
colors = ['red', 'blue', 'green']
print(random.choice(colors))    # 隨機(jī)返回一種顏色
  • random.sample(population, k):從總體中無(wú)放回地隨機(jī)抽取 k 個(gè)元素,返回列表。
nums = [1, 2, 3, 4, 5, 6]
print(random.sample(nums, 3))   # eg: [5, 2, 4]

三、time 模塊

處理時(shí)間相關(guān)的操作,常用函數(shù)如下:

  • time.time():返回當(dāng)前時(shí)間戳(自 1970-01-01 00:00:00 UTC 起算的浮點(diǎn)秒數(shù))。
import time
print(time.time())   # 1680000000.123456
  • time.localtime():將時(shí)間戳轉(zhuǎn)為當(dāng)前時(shí)區(qū)的 struct_time 對(duì)象,不傳參數(shù)則使用當(dāng)前時(shí)間。
t = time.localtime()
print(t.tm_year, t.tm_mon, t.tm_mday)  # 年 月 日
  • time.sleep(seconds):讓程序休眠指定秒數(shù),常用于控制節(jié)奏或模擬等待。
print("開(kāi)始等待...")
time.sleep(2)
print("兩秒后繼續(xù)")

四、os 模塊

os 模塊提供了與操作系統(tǒng)交互的各種功能,常用于文件和目錄操作。

  • os.getcwd():獲取當(dāng)前工作目錄。
import os
print(os.getcwd())
  • os.listdir(path):返回指定目錄下的所有文件和子目錄名稱列表,. 表示當(dāng)前目錄。
files = os.listdir(".")
print(files)
  • os.mkdir(path):新建一個(gè)目錄,如果父目錄不存在會(huì)拋出異常。
  • os.rmdir(path):刪除一個(gè)空目錄,非空會(huì)報(bào)錯(cuò)。
  • os.rename(old, new):重命名文件或目錄。
  • os.chmod(path, mode):更改文件或目錄權(quán)限。
  • os.system(command):在子 shell 中執(zhí)行系統(tǒng)命令,返回退出狀態(tài)碼。
os.system("ls -l")   # Linux/macOS
os.system("dir")     # Windows
  • os.popen(command):執(zhí)行命令并打開(kāi)一個(gè)管道,返回可讀寫的文件對(duì)象,用于捕獲命令輸出。

示例:

f = os.popen("echo Hello")
output = f.read()
print(output)   # Hello

五、json 模塊

處理 JSON 數(shù)據(jù)是前后端交互的核心環(huán)節(jié),Python 的 json 模塊提供了高效的序列化與反序列化支持。

1. 序列化(Python → JSON)

  • json.dumps(obj):將 Python 對(duì)象轉(zhuǎn)為 JSON 格式字符串,返回 str
import json
data = {"name": "Alice", "age": 25}
json_str = json.dumps(data)
print(json_str)   # '{"name": "Alice", "age": 25}'
  • json.dump(obj, file):將 Python 對(duì)象直接寫入文件對(duì)象,無(wú)返回值。
with open("data.json", "w") as f:
    json.dump(data, f)

2. 反序列化(JSON → Python)

  • json.loads(s):將 JSON 字符串解析為 Python 對(duì)象。
json_str = '{"name": "Bob", "score": 92.5}'
obj = json.loads(json_str)
print(obj["name"])   # Bob
  • json.load(file):從打開(kāi)的文件對(duì)象中讀取 JSON 并轉(zhuǎn)換為 Python 對(duì)象。
with open("data.json", "r") as f:
    data = json.load(f)

3. 數(shù)據(jù)類型轉(zhuǎn)換對(duì)照表

PythonJSON
dictobject
list, tuplearray
strstring
int, floatnumber
Truetrue
Falsefalse
Nonenull

注意:元組在序列化時(shí)會(huì)轉(zhuǎn)為 JSON 數(shù)組,反序列化回來(lái)變成列表。

小結(jié)

本文整理的五大模塊是 Python 日常開(kāi)發(fā)中的高頻工具:

  • 日志:標(biāo)準(zhǔn) logging 與更友好的 loguru,幫助追蹤程序狀態(tài)。
  • 隨機(jī)數(shù)random.randint、random.choice、random.sample 滿足隨機(jī)需求。
  • 時(shí)間time.time 獲取時(shí)間戳,time.sleep 控制節(jié)奏。
  • 系統(tǒng)交互os 模塊處理文件目錄操作與系統(tǒng)命令執(zhí)行。
  • 數(shù)據(jù)序列化json 模塊實(shí)現(xiàn) Python 與 JSON 的無(wú)縫轉(zhuǎn)換。

建議在實(shí)際項(xiàng)目中多加練習(xí),遇到陌生函數(shù)時(shí)可以查閱官方文檔或使用 help() 查看詳細(xì)說(shuō)明。掌握這些模塊,你的 Python 開(kāi)發(fā)效率會(huì)再上一個(gè)臺(tái)階。

以上就是Python常用內(nèi)置模塊日志、隨機(jī)數(shù)、時(shí)間、OS與JSON詳解的詳細(xì)內(nèi)容,更多關(guān)于Python常用內(nèi)置模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用Python在PDF中繪制多種圖形的操作示例

    使用Python在PDF中繪制多種圖形的操作示例

    在進(jìn)行PDF自動(dòng)化處理時(shí),人們往往首先想到的是文本生成、圖片嵌入或表格繪制等常規(guī)需求,然而在許多實(shí)際業(yè)務(wù)場(chǎng)景中,能夠在PDF中靈活繪制圖形同樣至關(guān)重要,本文將基于免費(fèi)的Free?Spire.PDF?for?Python,一步步示范如何在同一頁(yè)P(yáng)DF中繪制多種常見(jiàn)圖形,需要的朋友可以參考下
    2025-11-11
  • python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析

    python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析

    這篇文章主要介紹了python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python之no module named xxxx以及虛擬環(huán)境配置過(guò)程

    python之no module named xxxx以及虛擬環(huán)境配置過(guò)程

    在Python開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)遇到環(huán)境配置和包管理的問(wèn)題,主要原因包括未安裝所需包或使用虛擬環(huán)境導(dǎo)致的,通過(guò)pip install命令安裝缺失的包是解決問(wèn)題的一種方式,此外,使用虛擬環(huán)境,例如PyCharm支持的Virtualenv,可以為每個(gè)項(xiàng)目創(chuàng)建獨(dú)立的運(yùn)行環(huán)境
    2024-10-10
  • 使用Python將圖片轉(zhuǎn)正方形的兩種方法實(shí)例代碼詳解

    使用Python將圖片轉(zhuǎn)正方形的兩種方法實(shí)例代碼詳解

    這篇文章主要介紹了使用Python將圖片轉(zhuǎn)正方形的兩種方法,本文通過(guò)實(shí)例代碼給大家給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python對(duì)url格式解析的方法

    python對(duì)url格式解析的方法

    這篇文章主要介紹了python對(duì)url格式解析的方法,涉及Python針對(duì)URL解析的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • ubuntu安裝mysql pycharm sublime

    ubuntu安裝mysql pycharm sublime

    本文給大家匯總介紹了在Ubuntu中如何安裝mysql+pycharm+sublime的方法,有相同需求的小伙伴可以參考下
    2018-02-02
  • 基于MSELoss()與CrossEntropyLoss()的區(qū)別詳解

    基于MSELoss()與CrossEntropyLoss()的區(qū)別詳解

    今天小編就為大家分享一篇基于MSELoss()與CrossEntropyLoss()的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法

    Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法

    這篇文章主要給大家介紹了關(guān)于Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Python中的DateTime和TimeDelta詳解

    Python中的DateTime和TimeDelta詳解

    這篇文章主要介紹了Python中的DateTime和TimeDelta詳解,在Python中,date,time和datetime類提供了許多函數(shù)來(lái)處理日期、時(shí)間和時(shí)間間隔,每當(dāng)您操縱日期或時(shí)間時(shí),都需要導(dǎo)入DateTime函數(shù),需要的朋友可以參考下
    2023-07-07
  • jupyter關(guān)于pandas的dataframe行列顯示不全與復(fù)原問(wèn)題

    jupyter關(guān)于pandas的dataframe行列顯示不全與復(fù)原問(wèn)題

    這篇文章主要介紹了jupyter關(guān)于pandas的dataframe行列顯示不全與復(fù)原問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評(píng)論

固安县| 开化县| 海盐县| 徐州市| 寿宁县| 龙山县| 广灵县| 永宁县| 都兰县| 神木县| 五常市| 那坡县| 莎车县| 普兰店市| 嘉祥县| 鄄城县| 河南省| 中牟县| 河津市| 岳普湖县| 河北省| 岑溪市| 子洲县| 汝阳县| 山西省| 深圳市| 四川省| 交口县| 咸阳市| 望奎县| 临湘市| 德安县| 永兴县| 仙居县| 阳山县| 延庆县| 抚远县| 油尖旺区| 阜南县| 论坛| 肃宁县|