以下代码在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"))
/media
目录下有文件吗?通常情况下,它只包含一些空目录(除非你插入了光盘或内存棒)。 - Antonis Christofides/media/
目录都是空的,并且不可写。您是否尝试计算包含上传媒体的目录的大小--比如来自Django网站?那应该更像是/home/yourusername/yoursitename/media
。 - Giles Thomas