最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

Pyhon獲取文件夾的大小統(tǒng)計

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:16:34
文檔

Pyhon獲取文件夾的大小統(tǒng)計

Pyhon獲取文件夾的大小統(tǒng)計:Python OS 文件/目錄方法首先介紹用到的幾個函數(shù),寫了一個小demo便于理解。 os.getcwd()返回當(dāng)前路徑。 os.listdir (path)返回當(dāng)前路徑下的文件夾與文件(不向下二級遞歸)。os.path.join()join() 方法用于將序列中的元素以指定的字符連接生成一個新
推薦度:
導(dǎo)讀Pyhon獲取文件夾的大小統(tǒng)計:Python OS 文件/目錄方法首先介紹用到的幾個函數(shù),寫了一個小demo便于理解。 os.getcwd()返回當(dāng)前路徑。 os.listdir (path)返回當(dāng)前路徑下的文件夾與文件(不向下二級遞歸)。os.path.join()join() 方法用于將序列中的元素以指定的字符連接生成一個新
Python OS 文件/目錄方法

首先介紹用到的幾個函數(shù),寫了一個小demo便于理解。

Pyhon 獲取文件夾的大小統(tǒng)計

os.getcwd()

返回當(dāng)前路徑。

os.listdir (path)

返回當(dāng)前路徑下的文件夾與文件(不向下二級遞歸)。

os.path.join()

join() 方法用于將序列中的元素以指定的字符連接生成一個新的字符串。

os.path 讓join()識別為路徑,根據(jù)系統(tǒng)自動補齊'' '/'。

os.path.getsize(path) 返回文件大小

# -*- encoding: utf-8 -*_
import os

path = os.getcwd() # 獲取當(dāng)前路徑
for dirs in os.listdir(path):
 print dirs

file_name = "路徑補齊.txt"
path = os.path.join(path,file_name)
print path
size = os.path.getsize("E:PythonEclipsePythonStudyos.listdirlistdirs.py")
print size

輸出結(jié)果:

A
B
C
file.txt
listdirs.py
E:PythonEclipsePythonStudyos.listdir路徑補齊.txtA
303

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

top -- 根目錄下的每一個文件夾(包含它自己), 產(chǎn)生3-元組 (dirpath, dirnames, filenames)【文件夾路徑, 文件夾名字, 文件名】。

topdown --可選,為True或者沒有指定, 一個目錄的的3-元組將比它的任何子文件夾的3-元組先產(chǎn)生 (目錄自上而下)。如果topdown為 False, 一個目錄的3-元組將比它的任何子文件夾的3-元組后產(chǎn)生 (目錄自下而上)。

onerror -- 可選,是一個函數(shù); 它調(diào)用時有一個參數(shù), 一個OSError實例。報告這錯誤后,繼續(xù)walk,或者拋出exception終止walk。

followlinks -- 設(shè)置為 true,則通過軟鏈接訪問目錄。

# -*- encoding: utf-8 -*_
import os

for root, dirs, filename in os.walk(os.getcwd()):
 print root
 print dirs
 print filename

輸出結(jié)果:

E:PythonEclipsePythonStudyos.listdir
['A', 'B', 'C']
['file.txt', 'listdirs.py']
E:PythonEclipsePythonStudyos.listdirA
[]
[]
E:PythonEclipsePythonStudyos.listdirB
[]
['file.txt']
E:PythonEclipsePythonStudyos.listdirC
[]
[]

功能實現(xiàn)思路:

需要獲取文件夾的大小,只要遍歷文件下所有的文件,獲取所有文件大小求和即可。

這里是實現(xiàn)的是當(dāng)前目錄下,文件夾大小不包括當(dāng)前文件下文件大小。

python的編碼的格式,需要注意。

# -*- encoding: utf-8 -*-
import os
rootdir = os.getcwd() #獲取當(dāng)前路徑

rootdir = rootdir.decode('gbk')
x = u'統(tǒng)計文件大小.csv'
f = open(os.path.join(rootdir,x), "w+")
for dirname in os.listdir(rootdir): #獲取二級目錄所有文件夾與文件
 Dir = os.path.join(rootdir, dirname) #路徑補齊
 count = 0
 if (os.path.isdir(Dir)): #判斷是否為目錄
 for r, ds, files in os.walk(Dir): #遍歷目錄下所有文件根,目錄下的每一個文件夾(包含它自己), 產(chǎn)生3-元組 (dirpath, dirnames, filenames)【文件夾路徑, 文件夾名字, 文件名稱】
 for file in files: #遍歷所有文件
 size = os.path.getsize(os.path.join(r, file)) #獲取文件大小
 count += size
 if ((count/1024.0/1024.0) < 1024):
 print Dir +'	' + '%.2f'% (count/1024.0/1024.0)+'MB'
 f.write(Dir.encode("gbk") +','+ '%.2f'% (count/1024.0/1024.0)+'MB' + '
')
 else:
 print Dir + '	' + '%.2f' % (count / 1024.0 / 1024.0/1024.0) + 'GB'
 f.write(Dir.encode("gbk") + ',' + '%.2f' % (count / 1024.0 / 1024.0/1024.0) + 'GB' + '
')
 else:
 continue
f.close()

更多Pyhon 獲取文件夾的大小統(tǒng)計相關(guān)文章請關(guān)注PHP中文網(wǎng)!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Pyhon獲取文件夾的大小統(tǒng)計

Pyhon獲取文件夾的大小統(tǒng)計:Python OS 文件/目錄方法首先介紹用到的幾個函數(shù),寫了一個小demo便于理解。 os.getcwd()返回當(dāng)前路徑。 os.listdir (path)返回當(dāng)前路徑下的文件夾與文件(不向下二級遞歸)。os.path.join()join() 方法用于將序列中的元素以指定的字符連接生成一個新
推薦度:
標(biāo)簽: 文件 文件夾 獲取
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top