os.path.getsize在windows 10中给出了错误的.dll文件大小

2024-10-01 04:46:42 发布

您现在位置:Python中文网/ 问答频道 /正文

Python 3.6.0,Windows 10(64位)

import os
path = r'C:\Windows\System32\AdvancedInstallers\cmiv2.dll'
print(os.path.getsize(path))

这段代码给出了2193248的输出,但是当我看到这个文件的属性时,它显示了3252576。它不是磁盘大小属性。我说的是实际尺寸。在

file properties

我期待python程序打印3252576。在


Tags: 文件path代码import属性oswindows尺寸
1条回答
网友
1楼 · 发布于 2024-10-01 04:46:42

可能与NTFS alternate data streams有关。尽管这篇文章指出,在一个文件中出现广告并不影响文件的大小,但自从这篇文章写出来(早在2004年),事情可能已经发生了变化,Windows10的属性对话框可以很好地解释一个文件中的所有ADS,而python没有

more recent blog post说明如何使用PowerShell实用程序检查文件的数据流:

Get-item -Path C:\Windows\System32\AdvancedInstallers\cmiv2.dll -stream *

如果我的假设是正确的,那么输出应该如下所示:

^{pr2}$

(或某些物质实际上可能由数条较小的溪流组成,其大小总计为1059328)。在

相关问题 更多 >