Os.path.getsize 在for循环中回到.py文件的文件夹

Os.path.getsize goes back to the folder of .py file in a for loop

我试图做一个 for 循环来获取我拥有的文件夹中所有文件的文件大小。代码如下所示:

import os, sys
location = "/Users/username/Documents/Filmer"

for folder, subfolders, filenames in os.walk(location):

    for filename in filenames:
        print(os.path.getsize(os.path.abspath(filename)))

我试过在没有绝对路径的情况下使用它,也尝试过使用它。在我收到错误之前,它似乎只获取了两个文件的大小:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/username/Google Drive/Data/Python/ATBSWP/Projekt/Family.Guy.2009.DVDRip.H264-BONE.mp4'

指的是.py文件所在的文件夹,与os.walk()所在的目录完全不同,为什么会回到那个文件夹?我在循环中的所有文件上都使用了绝对路径,所以我觉得不应该这样做。

你可以试试:

for root, subfolders, filenames in os.walk(location):
    for filename in filenames:
        print(os.path.getsize(os.path.join(root, filename)))

os.walk返回的第一个arg实际上是根(完整路径)。