Я пишу некоторый код для чтения и интерпретации MBR, а затем FAT флешки, отформатированной в fat32, все идет хорошо, теперь я хочу записать на устройство в определенной позиции, поэтому после закрытия устройства Я открыл, чтобы прочитать, я пытаюсь снова, как это:
dr = file("/dev/disk5","r+")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 16] Resource busy: '/dev/disk5'
Итак, я закрываю все и перезапускаю интерпретатор с помощью sudo (sudo python) и повторяю все с теми же результатами.
что я могу сделать, чтобы иметь возможность открыть устройство для доступа для записи?
Спасибо
РЕДАКТИРОВАТЬ с еще большим кодом.
import sys,os
disk = file("/dev/disk5",'rb')
disk.seek(0)
sector_size=512
first_sector = disk.read(1*sector_size)
fat_part_list = (first_sector[-66:])[:64]
part1=fat_part_list[:16]
#more code here in order to analyse the first partition information in the MBR and get the required offset to actually read the partition itself.
#now for instance lets say I want to write here in sector 1 byte 0 ( so basically at seek(0).
disk.close()#close the device
disk = file("/dev/disk5","r+")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 16] Resource busy: '/dev/disk5'
на самом деле вы можете просто увидеть проблему следующим образом:
http://pastie.org/2521541
никогда не заставил форматирование работать должным образом ...
все это похоже на ошибку привилегий, но запуск интерпретатора с помощью sudo не приводит к изменениям.