相关疑难解决方法(0)

可重用的库,以获得文件大小的人类可读版本?

Web上有各种片段,可以为您提供从字节大小返回人类可读大小的功能:

>>> human_readable(2048)
'2 kilobytes'
>>>
Run Code Online (Sandbox Code Playgroud)

但是有没有提供这个的Python库?

python filesize code-snippets

210
推荐指数
13
解决办法
9万
查看次数

很快得到文件夹的总大小

我想使用python快速找到任何文件夹的总大小.

import os
from os.path import join, getsize, isfile, isdir, splitext
def GetFolderSize(path):
    TotalSize = 0
    for item in os.walk(path):
        for file in item[2]:
            try:
                TotalSize = TotalSize + getsize(join(item[0], file))
            except:
                print("error with file:  " + join(item[0], file))
    return TotalSize

print(float(GetFolderSize("C:\\")) /1024 /1024 /1024)
Run Code Online (Sandbox Code Playgroud)

这是我编写的简单脚本来获取文件夹的总大小,花了大约60秒(+ -5秒).通过使用多处理,我在四核机器上将其降低到23秒.

使用Windows文件浏览器只需约3秒钟(右键单击 - >属性可自行查看).那么是否有更快的方法来查找接近Windows可以执行的速度的文件夹的总大小?

Windows 7,python 2.6(搜索但是大多数时候人们使用了与我自己非常相似的方法)在此先感谢.

python directory optimization

51
推荐指数
3
解决办法
4万
查看次数

os.path.getsize返回不正确的值?

def size_of_dir(dirname):
    print("Size of directory: ")
    print(os.path.getsize(dirname))
Run Code Online (Sandbox Code Playgroud)

是有问题的代码.dirname是一个包含130个文件的目录,每个文件大约1kb.当我调用这个函数时,它返回4624,这不是目录的大小......为什么会这样?

python directory size file

8
推荐指数
2
解决办法
2万
查看次数

获取Linux服务器中文件夹的大小

虽然以下代码在 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"))
Run Code Online (Sandbox Code Playgroud)

参考:来自/sf/answers/2615757581/ 的代码

python linux django

5
推荐指数
1
解决办法
1504
查看次数

标签 统计

python ×4

directory ×2

code-snippets ×1

django ×1

file ×1

filesize ×1

linux ×1

optimization ×1

size ×1