情况:我正在编写一个python程序来读取硬盘(特别是Windows)并将十六进制字符串相互比较。在字节级别读取硬盘
问题:是否可以这样做?我正在寻找的解决方案需要很快,因此dd
是不合适的。
我知道在Linux系统上我们可以做open('/dev/sdX', 'r')
。我发现另一个问题,表明我在“基于Win32的应用程序”上使用open('\\.\PhysicalDriveX', 'r')
或open('\\.\C:', 'r')
。
问题:上述命令是否也可以在普通Windows机器上运行(64位)?
附加信息:我正在使用ePython,它是Python的变体,具有附加功能。
'\\。\ PhysicalDrive [N]'是一个磁盘。 '\\。\ C:'是一个卷(通常是一个单独的分区)。直接读取它们需要管理员权限,并且应该以二进制模式打开,即“rb”。 – eryksun
卷也可以挂载在NTFS目录中。从Windows API打开这样的卷需要使用卷GUID名称,您可以通过'GetVolumeNameForVolumeMountPoint'从驱动器盘符或文件夹挂载点获取该名称。该函数需要在挂载点路径上有尾随的反斜杠。它返回带有反斜杠的GUID卷名,您需要删除它。 – eryksun