1、安裝第三方庫 RarFile
下載安裝包 https://pypi.org/project/rarfile/#files
安裝方法同 https://blog.csdn.net/lzqg1990/article/details/88606527
2、統計目標文件
需要統計5項結果(下圖爲壓縮包文件內部結構):
DAE、DAY、NIGHT、XREF共4個文件夾的大小及DAE文件夾下所有文件名中不包含_S的dae文件大小。
3、參考幫助文檔編寫腳本
基於官網的以下示例編寫了我的腳本
注意:屬性file_size獲取壓縮文件中文件的壓縮前大小,以字節爲單位,需留意KB\MB\GB間單位轉換。
#coding=utf-8
#城市壓縮包文件大小統計
import rarfile
sum_S = 0
sum_DAE = 0
sum_XREF = 0
sum_DAY = 0
sum_NIGHT = 0
sum_DAE_file = 0
rf = rarfile.RarFile('NANTONG.rar')
for f in rf.infolist():
#print(f.filename, f.file_size)#file_size爲字節大小 1KB=1024字節
#【1】DAE文件(MB)
#_H、_XREF、_B1、_B2文件合計大小= sum_DAE_file-sum_S-sum_XREF-sum_DAY-sum_NIGHT
if '_S.dae' in f.filename:
sum_S += f.file_size
#【2】 XREF紋理庫文件(MB)
# XREF文件夾
if 'DAE/XREF' in f.filename:
sum_XREF += f.file_size
#【3】DAY紋理庫文件(MB)
# TEXTURES下DAY文件夾
if 'DAE/TEXTURES/DAY' in f.filename:
sum_DAY += f.file_size
#【4】NIGHT紋理庫文件(MB)
# TEXTURES下NIGHT文件夾
if 'DAE/TEXTURES/NIGHT' in f.filename:
sum_NIGHT += f.file_size
#【5】小計(MB)
# DAE文件夾
if '/DAE' in f.filename:
sum_DAE_file += f.file_size
sum_DAE = sum_DAE_file-sum_S-sum_XREF-sum_DAY-sum_NIGHT
trans = 1024*1024
print('DAE文件:{0:.2F}MB'.format(sum_DAE/trans))
print('XREF紋理庫文件:{0:.2F}MB'.format(sum_XREF/trans))
print('DAY紋理庫文件:{0:.2F}MB'.format(sum_DAY/trans))
print('NIGHT紋理庫文件:{0:.2F}MB'.format(sum_NIGHT/trans))
print('小計:{0:.2F}MB'.format(sum_DAE_file/trans))
4、結果驗證
與文件屬性中查看的大小一致。