折腾:
期间,需要用Python去获取:
文件的大小
文件夹的整个的大小
python get file folder size
python – Getting File size from user inputed directory – Stack Overflow
How to check size of the files in a directory with python? – Stack Overflow
Getting file size in Python? – Stack Overflow
os.path — Common pathname manipulations — Python 3.7.1 documentation
How to calculate a directory size using Python
Size of a File Folder/Directory (Python) | DaniWeb
Get Directory size in python · GitHub
os — Miscellaneous operating system interfaces — Python 3.7.1 documentation
os — Miscellaneous operating system interfaces — Python 3.7.1 documentation
【总结】
最后用代码:
<code>import os def getFileFolderSize(fileOrFolderPath): """get size for file or folder""" totalSize = 0 if not os.path.exists(fileOrFolderPath): return totalSize if os.path.isfile(fileOrFolderPath): totalSize = os.path.getsize(fileOrFolderPath) # 5041481 return totalSize if os.path.isdir(fileOrFolderPath): with os.scandir(fileOrFolderPath) as dirEntryList: for curSubEntry in dirEntryList: curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name) if curSubEntry.is_dir(): curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007 totalSize += curSubFolderSize elif curSubEntry.is_file(): curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891 totalSize += curSubFileSize return totalSize def testNormalFile(): normalFile = "/Users/mac/working/dev_root/xxx/output/user/3946/show/57589460/show_57589460_video.mp4" normalFileSize = getFileFolderSize(normalFile) print("normalFileSize=%s" % normalFileSize) def testFoler(): # userFolder = "/Users/mac/working/dev_root/xxx/output/user/3946" userFolder = "/Users/mac/working/dev_root/xxx/output/course" userFolderSize = getFileFolderSize(userFolder) print("userFolderSize=%s" % userFolderSize) # userFolderSize=205849009 if __name__ == "__main__": # testNormalFile() testFoler() </code>
可以实现:传入file或folder,都可以计算出大小。
注:最新代码已整理至:
https://github.com/crifan/crifanLibPython/blob/master/crifanLib/crifanFile.py
转载请注明:在路上 » 【已解决】Python中获取文件大小和文件夹大小