![]() |
1
177
这将获取子目录:
和一个有趣的一行程序 os.listdir ( 不包括子目录 ):
参考文献: os.path.getsize -以字节为单位给出大小 更新的 使用 os.path.getsize文件 ,这比使用os.stat().st_size方法更清楚。 感谢GhostDog74指出了这一点! os.stat - STY大小 以字节为单位给出大小。也可用于获取文件大小和其他与文件相关的信息。 更新2018
如果使用python 3.4或更高版本,则可以考虑使用更高效的
|
![]() |
2
31
到目前为止,建议的一些方法实现递归,其他方法使用shell,或者不会生成格式整洁的结果。当您的代码对于Linux平台是一次性的时,您可以像往常一样得到格式化,包括递归,作为一个一行程序。除了
简单、高效,适用于文件和多级目录:
5年后有点晚了,但因为这仍然在搜索引擎的排行榜上,这可能会有所帮助… |
![]() |
3
22
这里有一个递归函数(它递归地汇总所有子文件夹及其各自文件的大小),它返回与在Linux中运行“du-sb”时完全相同的字节(其中“.”表示“当前文件夹”):
|
![]() |
4
14
python 3.5递归文件夹大小使用
|
![]() |
5
7
Monknut的答案很好,但在断开的符号链接上失败,因此您还必须检查此路径是否真的存在。
|
![]() |
6
7
接受的答案不考虑硬链接或软链接,并且会将这些文件计数两次。您需要跟踪所看到的inode,而不是添加这些文件的大小。
|
![]() |
7
7
Chris的答案很好,但可以通过使用集合检查所见目录来使其更加惯用,这也避免了对控制流使用异常:
|
![]() |
8
6
递归一行程序:
|
![]() |
9
5
问题的第二部分
|
![]() |
10
4
你可以这样做:
在这种情况下,在返回结果之前,我没有测试过它,如果需要,可以使用commands.getstatusoutput检查它。 |
![]() |
11
4
|
![]() |
12
3
你说的一句话… 这是一条单线:
虽然我可能会把它分开,但它不执行任何检查。 要转换为KB,请参见 Reusable library to get human readable version of file size? 并在其中工作 |
![]() |
13
2
以下脚本打印指定目录的所有子目录的目录大小。它还试图从缓存递归函数的调用中获益(如果可能的话)。如果省略参数,脚本将在当前目录中工作。输出按目录大小从大到小排序。所以你可以根据自己的需要来调整它。 我用578019号配方来显示人性化的目录大小。( http://code.activestate.com/recipes/578019/ )
样品输出:
编辑:根据用户2233949的建议,将空装饰器移动到上面 |
![]() |
14
2
|
![]() |
15
2
它很方便:
|
![]() |
16
1
对于获取一个文件的大小,有os.path.getsize()。
它以字节为单位报告。 |
![]() |
17
1
我使用的是python 2.7.13 scandir 下面是我的一行递归函数,用于获取文件夹的总大小:
|
![]() |
18
1
当计算子目录的大小时,它应该更新其父目录的文件夹大小,直到它到达根父目录。 以下函数计算文件夹及其所有子文件夹的大小。
|
![]() |
19
1
如果您在Windows OS中,可以执行以下操作: 通过启动以下命令安装模块pywin32: pip安装pywin32 然后编码如下:
|
![]() |
20
1
这里有一个递归执行的一行程序(从Python3.5开始提供递归选项):
|
![]() |
21
0
这个脚本告诉您哪个文件在CWD中最大,还告诉您该文件在哪个文件夹中。 这个脚本在win8和python 3.3.3 shell上为我工作
|
![]() |
22
0
诚然,这是一种黑客行为,只在Unix/Linux上工作。
它匹配
|
![]() |
23
0
为了它的价值…tree命令免费执行所有这些操作:
我喜欢Python,但到目前为止,这个问题最简单的解决方案不需要新的代码。 |
![]() |
24
0
我有点晚了(而且是新的),但是我选择了使用子进程模块和Linux的“du”命令行来检索以MB为单位的文件夹大小的准确值。我必须对根文件夹使用if和elif,否则子进程会由于返回的非零值而引发错误。
|
![]() |
25
-1
感谢Monkut&troex!这真的很管用! |
![]() |
hbhutta · 尝试在目录中创建文件时获取权限错误 1 年前 |
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
![]() |
HoCo_ · 从终端在Atom中添加项目文件夹 6 年前 |
![]() |
Pymateur · 如何在Windows上将目录路径作为用户输入? 6 年前 |
![]() |
Jasonca1 · PathLib递归删除目录? 6 年前 |
![]() |
Bassie · 对话框以错误路径打开文件夹 6 年前 |
![]() |
RickRilled · 如何在bash中的目录中操作 6 年前 |