【发布时间】:2021-12-21 17:55:19
【问题描述】:
我是编程世界的新手,我在一段代码上遇到了障碍。
我有什么:我有一段代码可以识别所有 .MP4 文件并计算目录中文件的大小。到目前为止,我只能将此代码应用于我手动输入的特定文件夹。但代码有效。
问题:我想将我所拥有的应用到一个目录中的多个文件夹。我在文件路径中有几个文件夹,我想将此代码分别应用于每一年。例如:我需要一段代码/代码方向,可以让我在名称中包含“2021”的所有文件夹上运行此代码。
欢迎任何指点或建议。
# import module
import os
# assign size
size = 0
# assign folder path
Folderpath = r'C:\file_path_name_here'
# get size
for path, dirs, files in os.walk(Folderpath):
for f in files:
if not f.endswith('.MP4'):
continue
else:
fp = os.path.join(path, f)
size += os.path.getsize(fp)
# display size
print("Folder size: " + str(size))
【问题讨论】:
-
你试过“glob”功能吗?它将列出所有具有共同模式的文件。在您的情况下,您可以使用 glob.glob("*.MP4")
-
感谢您的回复@GIOVANNIQUINONESVALDEZ。我不相信这会以我需要的方式工作。最终结果是让我知道给定年份内所有 .MP4 文件的大小,而不仅仅是所有年份的总和。
-
但是使用 glob,您可以列出所有 MP4 文件,然后您可以使用 os.path.getsize 函数单独获取每个文件的大小。 >> glob.glob("*.MP4") [file1.MP4, file2.MP4, ..., fileN.MP4]
-
感谢您的建议。我正在使用 .rglob 获取所需的文件,但是当我尝试确定文件的大小时,我得到“WindowsError:[错误 2] 系统找不到指定的文件:'specificfilename.mp4'”。看来我需要找到一种方法来提取完整的文件路径而不仅仅是名称。
标签: python