我正在尝试创建可启动的USB驱动器,并且需要将USB格式化为FAT32,以便我可以将所有文件提取到FAT32中。使用Python将USB驱动器格式化为FAT32
是否可以使用纯python格式化USB驱动器?我可以在不使用外部命令的情况下将其格式化为FAT32吗?
我知道在bash中,我可以这样做:sudo dd if=/dev/zero of=/dev/sdb bs=4k && sync
来格式化USB驱动器,我怎样才能使用python做类似的操作?
我正在尝试创建可启动的USB驱动器,并且需要将USB格式化为FAT32,以便我可以将所有文件提取到FAT32中。使用Python将USB驱动器格式化为FAT32
是否可以使用纯python格式化USB驱动器?我可以在不使用外部命令的情况下将其格式化为FAT32吗?
我知道在bash中,我可以这样做:sudo dd if=/dev/zero of=/dev/sdb bs=4k && sync
来格式化USB驱动器,我怎样才能使用python做类似的操作?
下面是一个近似于您的问题给了dd
命令。我不确定完成后是否有办法强制执行sync
。
import io
block = b'\0' * 4096
with io.FileIO('/dev/sdb', 'w') as f:
while f.write(block):
pass
你能解释一下这一点吗?我也很欣赏这个,但是你是从哪里得到这些数字以及'io.File'做了什么? – owasp
也不会'b“{}”。格式(块)'把每个项目变成'\ x00'工作得更好。 – owasp
@owasp如果你看看[io.FileIO']的文档(https://docs.python.org/3/library/io.html#raw-file-io),你可以看到它是一个未加载的文件界面,这是你需要的。 '4096'相当于'4k',它是'4 * 1024',其中'1024'是最接近'1000'的二进制数。没有必要使用'format','block'已经是一个字节字符串,它正是'write'所需要的。 –
如果你正在使用Windows:https://bytes.com/topic/python/answers/537724-formatting-device-script-windows – inspectorG4dget
@ inspectorG4dget Linux怎么样? – owasp
如果你需要'sudo'来使'dd'工作,你也需要在你的Python程序中使用'sudo'。这可以吗? –