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

时间:2017-06-19 21:36:36

标签: python os.path

我试图做一个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]没有这样的文件或目录:   ' /用户/用户名/谷歌   驱动器/数据/ Python的/ ATBSWP / Projekt的/ Family.Guy.2009.DVDRip.H264-BONE.mp4'

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

1 个答案:

答案 0 :(得分:0)

您可以尝试:

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

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