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

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

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

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

一、日志模塊

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

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

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

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

基礎(chǔ)用法:

import logging

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

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

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

loguru 是第三方庫,以更簡潔的 API 和更美觀的輸出著稱。

安裝:

pip install loguru

導(dǎo)入與使用:

from loguru import logger

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

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

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

二、random 模塊

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

  • 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ī)取出一個元素。
colors = ['red', 'blue', 'green']
print(random.choice(colors))    # 隨機(jī)返回一種顏色
  • random.sample(population, k):從總體中無放回地隨機(jī)抽取 k 個元素,返回列表。
nums = [1, 2, 3, 4, 5, 6]
print(random.sample(nums, 3))   # eg: [5, 2, 4]

三、time 模塊

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

  • time.time():返回當(dāng)前時間戳(自 1970-01-01 00:00:00 UTC 起算的浮點(diǎn)秒數(shù))。
import time
print(time.time())   # 1680000000.123456
  • time.localtime():將時間戳轉(zhuǎn)為當(dāng)前時區(qū)的 struct_time 對象,不傳參數(shù)則使用當(dāng)前時間。
t = time.localtime()
print(t.tm_year, t.tm_mon, t.tm_mday)  # 年 月 日
  • time.sleep(seconds):讓程序休眠指定秒數(shù),常用于控制節(jié)奏或模擬等待。
print("開始等待...")
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):新建一個目錄,如果父目錄不存在會拋出異常。
  • os.rmdir(path):刪除一個空目錄,非空會報錯。
  • 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í)行命令并打開一個管道,返回可讀寫的文件對象,用于捕獲命令輸出。

示例:

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 對象轉(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 對象直接寫入文件對象,無返回值。
with open("data.json", "w") as f:
    json.dump(data, f)

2. 反序列化(JSON → Python)

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

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

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

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

小結(jié)

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    python對url格式解析的方法

    這篇文章主要介紹了python對url格式解析的方法,涉及Python針對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ū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中跳臺階、變態(tài)跳臺階與矩形覆蓋問題的解決方法

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

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

    Python中的DateTime和TimeDelta詳解

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

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

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

最新評論

东辽县| 庆元县| 陇西县| 泰宁县| 马关县| 巴彦县| 灵丘县| 天长市| 海晏县| 定襄县| 井陉县| 于田县| 开原市| 雷州市| 普兰店市| 楚雄市| 武冈市| 迁安市| 昭平县| 温泉县| 旌德县| 瑞昌市| 岢岚县| 林口县| 福州市| 长泰县| 忻州市| 彭阳县| 巫山县| 濮阳县| 万山特区| 新建县| 金秀| 泰顺县| 富阳市| 甘孜| 崇义县| 山阴县| 福贡县| 平顶山市| 台安县|