在您说“已经有线程覆盖”之前 - 进一步阅读,没有。
我只需要“寻址”NTFS文件系统的第一个扇区并逐字节读取(原始数据)。我不需要一个执行此操作的程序,我需要代码。
到目前为止我得到了什么:
drive = r"\\.\PhysicalDrive1"
pyLog = "C:\\ohMyPy\mft.txt"
hd = open(drive,encoding='cp850')
mft = hd.readlines(1024*10000)
with open(pyLog,'w',encoding='cp850') as f:
f.writelines(mft)
f.close
答案 0 :(得分:2)
您需要以二进制模式('rb'
/ 'wb'
)打开文件,否则Python将修改Windows上的换行符。在二进制模式下打开文件时不需要编码。此外,您可以在同一个上下文管理器(with
)中打开这两个文件,如下所示。
drive_filename = r'\\.\PhysicalDrive1'
log_filename = r'C:\ohMyPy\mft.txt'
with open(drive_filename, 'rb') as drive, open(log_filename, 'wb') as logfile:
logfile.write(drive.read(1024*10000))
答案 1 :(得分:1)
我可以按如下方式阅读我的MBR;
drive = r"\\.\PhysicalDrive0"
hd = open(drive,'rb')
mbr = hd.read(512)
魔法在' rb' =打开文件,以二进制模式读取,即不改变行尾字符。