Python中獲取文件大小的四種辦法
這篇文章將討論如何在 Python 中獲取文件的大小。
1.使用 os.stat() 功能
獲取文件狀態(tài)的標(biāo)準(zhǔn)解決方案是使用 os.stat() Python 函數(shù)。它返回一個(gè) stat_result 對象,它有一個(gè) st_size 包含文件大?。ㄒ宰止?jié)為單位)的屬性。
import os stats = os.stat('filename.ext') print(stats.st_size)
2.使用 Path.stat() 功能
或者,使用 Python 3.4,您可以使用 Path.stat() 函數(shù)來自 pathlib 模塊。它類似于 os.stat() 函數(shù)和返回 stat_result 包含有關(guān)指定路徑的信息的對象。
from pathlib import Path f = Path('filename.ext') size = f.stat().st_size print(size)
3.使用 os.path.getsize() 功能
另一個(gè)不錯(cuò)的選擇是使用 os.path.getsize() 函數(shù)獲取指定路徑的大?。ㄒ宰止?jié)為單位)。
import os size = os.path.getsize('path\to\file\filename.ext') print(size)
4.使用 seek() 功能
這里的思路是以只讀模式打開文件,并在末尾設(shè)置文件描述符的當(dāng)前位置。這可以使用 seek() 函數(shù),它以字節(jié)為單位返回當(dāng)前光標(biāo)位置,從頭開始。
import os with open('path\to\file\filename.ext', 'r') as f: size = f.seek(0, os.SEEK_END) print(size)
這就是在 Python 中獲取文件大小的全部內(nèi)容。
附:Python計(jì)算一個(gè)目錄下所有文件大小
首先我們可以利用os.path.getsize()方法獲取文件大小,例如:
import os print(os.path.getsize("python article"))
這樣我們就得到了名為python article文件的大小.
然后我們可以利用os.listdir() 方法用于返回指定的文件夾包含的文件或文件夾的名字的列表并對列表中每個(gè)文件進(jìn)行遍歷,并用if語句判斷是否為一個(gè)文件,最后利用os.path.getsize()方法獲取文件大小并對他們進(jìn)行加和操作,代碼如下:
for f in os.listdir("."): if os.path.isfile(file): sum_size += os.path.getsize(f)
最后對所獲得的值進(jìn)行輸出,我們可以把最后的值除以1000,因?yàn)橥ㄟ^這個(gè)方法得到的值是字節(jié),這樣就可以得到kb的值,完整代碼如下:
import os print(os.path.getsize("python article")) sum=0 for f in os.listdir("."): if os.path.isfile(file): sum += os.path.getsize(f) print(f) print(sum_size/1000)
總結(jié)
到此這篇關(guān)于Python中獲取文件大小的四種辦法的文章就介紹到這了,更多相關(guān)Python獲取文件大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Python中通過threshold創(chuàng)建mask方式
今天小編就為大家分享一篇在Python中通過threshold創(chuàng)建mask方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02基于opencv的selenium滑動(dòng)驗(yàn)證碼的實(shí)現(xiàn)
這篇文章主要介紹了基于opencv的selenium滑動(dòng)驗(yàn)證碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python3多重排序處理多數(shù)據(jù)的示例詳解
Python3的多重排序通常指的是對數(shù)據(jù)集合按照兩個(gè)或多個(gè)人數(shù)屬性進(jìn)行排序的過程,這可以通過將多個(gè)排序關(guān)鍵字作為元組傳遞給內(nèi)置的sorted()函數(shù)或者是使用列表推導(dǎo)式結(jié)合lambda函數(shù)完成,本文詳細(xì)分析了python3多重排序處理多數(shù)據(jù),需要的朋友可以參考下2024-07-07Python?PyCharm無法打開終端命令行最終解決方案(實(shí)測成功)
這篇文章主要介紹了在使用PyCharm?2024版本時(shí)遇到的無法打開終端的問題,文中提供了兩種解決方案,大家可以根據(jù)自己的需求選擇對應(yīng)的解決方法,需要的朋友可以參考下2024-12-12python采用requests庫模擬登錄和抓取數(shù)據(jù)的簡單示例
這篇文章主要介紹了python采用requests庫模擬登錄和抓取數(shù)據(jù)的簡單示例,代碼簡單卻功能強(qiáng)大!需要的朋友可以參考下2014-07-07Python?matplotlib之折線圖的各種樣式與畫法總結(jié)
matplotlib是Python中的一個(gè)第三方庫,主要用于開發(fā)2D圖表,以漸進(jìn)式、交互式的方式實(shí)現(xiàn)數(shù)據(jù)可視化,可以更直觀的呈現(xiàn)數(shù)據(jù),使數(shù)據(jù)更具說服力,下面這篇文章主要給大家介紹了關(guān)于Python?matplotlib之折線圖的各種樣式與畫法的相關(guān)資料,需要的朋友可以參考下2022-12-12Python實(shí)現(xiàn)列表索引批量刪除的5種方法
這篇文章主要介紹了Python實(shí)現(xiàn)列表索引批量刪除的5種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11