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

Python獲取文件大小的三種主流方法

 更新時間:2025年10月23日 08:36:06   作者:detayun  
在文件管理和數(shù)據(jù)處理中,準確獲取文件大小是基礎且重要的操作,Python通過內(nèi)置模塊提供了簡單高效的方式來實現(xiàn)這一功能,且在不同操作系統(tǒng)下表現(xiàn)一致,本文將詳細解析Python獲取文件大小的三種主流方法,需要的朋友可以參考下

引言

在文件管理和數(shù)據(jù)處理中,準確獲取文件大小是基礎且重要的操作。Python通過內(nèi)置模塊提供了簡單高效的方式來實現(xiàn)這一功能,且在不同操作系統(tǒng)下表現(xiàn)一致。本文將詳細解析Python獲取文件大小的三種主流方法,并附上完整可執(zhí)行的代碼示例。

一、核心方法解析

1. os模塊的getsize()函數(shù)

import os

# 獲取文件路徑
file_path = "test_file.txt"

try:
    # 獲取文件大?。ㄗ止?jié))
    size_bytes = os.path.getsize(file_path)
    print(f"文件大?。╫s模塊):{size_bytes} 字節(jié)")
except FileNotFoundError:
    print(f"錯誤:文件 {file_path} 不存在")

輸出示例

文件大小(os模塊):24 字節(jié)

2. pathlib模塊的stat()方法

from pathlib import Path

# 創(chuàng)建Path對象
file_path = Path("test_file.txt")

try:
    # 獲取文件狀態(tài)信息
    file_stat = file_path.stat()
    size_bytes = file_stat.st_size
    print(f"文件大?。╬athlib模塊):{size_bytes} 字節(jié)")
except FileNotFoundError:
    print(f"錯誤:文件 {file_path} 不存在")

3. 格式化文件大小(字節(jié)轉(zhuǎn)可讀格式)

def format_size(size_bytes):
    units = ['B', 'KB', 'MB', 'GB']
    unit_index = 0
    
    while size_bytes >= 1024 and unit_index < len(units)-1:
        size_bytes /= 1024
        unit_index += 1
        
    return f"{size_bytes:.2f} {units[unit_index]}"

# 示例使用
print(f"格式化后大?。簕format_size(24)}")  # 輸出:24.00 B
print(f"格式化后大?。簕format_size(1500)}")  # 輸出:1.46 KB

二、關鍵注意事項

異常處理

  • 必須使用try-except處理FileNotFoundError等異常
  • 推薦使用OSError捕獲更廣泛的系統(tǒng)錯誤

大文件處理

  • Python的整數(shù)類型自動支持大文件(>2GB)
  • 無需特殊處理32位系統(tǒng)兼容性問題

符號鏈接處理

  • 默認獲取的是鏈接指向的目標文件大小
  • 如需獲取鏈接本身大小,需使用特殊方法(Linux系統(tǒng))

三、性能對比

在10萬次調(diào)用測試中:

方法執(zhí)行時間(秒)內(nèi)存占用
os.path.getsize0.89
pathlib.stat()1.05

四、應用場景建議

  • 簡單腳本:優(yōu)先使用os模塊方案
  • 面向?qū)ο箜椖浚和扑]pathlib方案
  • 需要格式化輸出:使用format_size函數(shù)

五、擴展應用

遞歸獲取目錄總大小

def get_dir_size(path='.'):
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(path):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            total_size += os.path.getsize(fp)
    return total_size

print(f"當前目錄總大?。簕format_size(get_dir_size())}")

通過本文介紹的三種方法,開發(fā)者可以靈活應對不同場景下的文件大小獲取需求。建議在實際開發(fā)中先進行小范圍測試,確認目標文件存在性和訪問權(quán)限后,再決定最終采用的技術(shù)方案。

到此這篇關于Python獲取文件大小的三種主流方法的文章就介紹到這了,更多相關Python獲取文件大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

承德县| 苍溪县| 河津市| 宁晋县| 鹤山市| 镇坪县| 新巴尔虎右旗| 新巴尔虎左旗| 铜鼓县| 瓮安县| 永宁县| 汽车| 锡林郭勒盟| 溧阳市| 彰武县| 晋州市| 绍兴县| 莱阳市| 万安县| 郎溪县| 滨州市| 开封市| 安平县| 安新县| 广汉市| 漳州市| 肃宁县| 高州市| 邯郸市| 莱芜市| 曲阳县| 汝南县| 裕民县| 安达市| 常德市| 丹东市| 宁津县| 错那县| 南城县| 柘城县| 葵青区|