【发布时间】:2011-09-20 19:46:24
【问题描述】:
我正在使用Python打开电脑中的物理磁盘读取第一个扇区。
disk = r"\\.\PhysicalDrive0"
with open(disk, 'r') as f:
f.seek(0)
partdata = f.read(512)
len(partdata)
在 Windows XP 中,len(partdata) 将返回 512 并具有正确的内容。在 windows 7 中,len(partdata) 返回 230 并且数据是正确的,直到它中断。
另外,尝试在磁盘中寻找更远的位置也不起作用,它只返回前 230 个字节。
Python 版本 2.7.1 和 2.7.2 32 位和 64 位
在 Windows 7 上,一台 32 位机器一台 64 位。
【问题讨论】:
-
有趣的问题。我假设您以管理员身份运行此代码?我想如果这里有一个权限因素,你要么得到所有数据,要么一无所有。无论如何,这是一个很好的问题。
-
是的,它在 Win7 上以管理员身份运行。如果不这样做,则根本无法打开文件。
标签: python windows-7 disk readfile