【发布时间】:2025-11-27 08:50:02
【问题描述】:
虽然以下代码在 Windows 中运行良好,但在 Linux 服务器(pythonanywhere)中,该函数仅返回 0,没有错误。我错过了什么?
import os
def folder_size(path):
total = 0
for entry in os.scandir(path):
if entry.is_file():
total += entry.stat().st_size
elif entry.is_dir():
total += folder_size(entry.path)
return total
print(folder_size("/media"))
参考:来自https://*.com/a/37367965/6546440的代码
【问题讨论】:
-
/media是否包含任何文件?通常它只包含几个空目录(直到您插入 CDROM 或记忆棒)。 -
@AntonisChristofides 是的,它有文件...
-
PythonAnywhere dev here --
/media/在我们网站的所有帐户中都是一个空目录,并且不可写。您是否正在尝试计算包含上传媒体的目录的大小 - 例如,来自 Django 站点?这更像是/home/yourusername/yoursitename/media。 -
是的,后来我发现这是问题所在……谢谢!