栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 直接读取磁盘分区数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 直接读取磁盘分区数据

可能你会认为, 使用Python读取磁盘是一件复杂的任务, 需要调用较深的操作系统API。 

目录

读取磁盘分区

写入磁盘分区

需要注意的是, Python似乎并没有读取磁盘方面的库, 但可以直接用以下的方法。

读取磁盘分区
# 打开C盘分区
disk = open(r'.C:', 'rb')
# 读取第一个扇区数据, 1扇区为512字节
print(disk.read(512))
# 读到的是PBR, 分区引导记录

 读取结果如下: 

b'xebRx90NTFS    x00x02x08x00x00x00x00x00
x00x00xf8x00x00?x00xffx00x00x08x00x00x00x00x00x00x80x00
x80x006xae4x08x00x00x00x00x00x00x0cx00x00x00x00x00x02x00x00
x00x00x00x00x00xf6x00x00x00x01x00x00x00xc2Zx0cx00
xGx0cx00x00x00x00x00xfa3xc0x8exd0xbcx00|xfbhxc0x07x1fx1ehfx00xcbx88
x16x0ex00fx81>x03x00NTFSux15xb4AxbbxaaUxcdx13rx0cx81xfbUxaaux06xf7xc1x01x00ux03xe9xd2x00x1e
x83xecx18hx1ax00xb4Hx8ax16x0ex00x8bxf4x16x1fxcdx13x9fx83xc4x18x9eXx1frxe1;x06x0bx00uxdbxa3x0fx00xc1.x0fx00x04x1eZ3xdbxb9x00 
+xc8fxffx06x11x00x03x16x0fx00x8exc2xffx06x16x00xe8@x00+xc8wxefxb8x00xbbxcdx1af#xc0u-
fx81xfbTCPAu$x81xf9x02x01rx1ex16hx07xbbx16hpx0ex16htx00fSfSfUx16x16x16hxb8x01fax0ex07xcdx1axe9jx01x90x90f`x1ex06fxa1x11
x00fx03x06x1cx00x1efhx00x00x00x00fPx06Shx01x00hx10x00xb4Bx8ax16x0ex00x16x1fx8bxf4xcdx13fY[ZfYfYx1fx0fx82x16x00fxffx06x11x00x03x16x0fx00
x8exc2xffx0ex16x00uxbcx07x1ffaxc3xa0xf8x01xe8x08x00xa0xfbx01xe8x02x00xebxfexb4x01x8bxf0xac 

 注意: 一定要以管理员身份运行Python, 才有权限打开磁盘。

方法是: 在某Python IDE的图标上右键, 在菜单中选择"以管理员身份运行", 即可。期间若出现"允许某程序进行更改"的提示, 请选择"是"。

写入磁盘分区

注意: 请先备份重要数据。作者使用了一个VHD虚拟磁盘进行试验。

# 以读写模式打开磁盘分区
disk = open(r'\.g:', 'rb+')
with open(r"d:分区PBR备份.txt","wb") as f:
    f.write(disk.read(512)) # --备份分区开第1个扇区数据--

disk.seek(0) # 将文件指针移回起始位置
# 写入, 这一步不会影响磁盘数据
disk.write(b'x00'*512)
# 将数据真正写入磁盘
disk.close()

会发现, 文件系统被成功破坏。此时, 分区G: 的文件虽然无法直接访问, 但原始数据仍然可以用以上的方式读取。

 还原数据的代码: 

disk = open(r'\.g:', 'rb+')
with open(r"d:分区PBR备份.txt","rb") as f:
    disk.write(f.read())

会发现, 分区G:恢复正常。

总之, 前面介绍了Python读写磁盘单个分区的技巧, 读取整个磁盘的方法作者正在探索中。
读写磁盘原始数据有广泛的用途, 例如分区数据备份, 数据恢复等。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号