Как создать виртуальный CD-привод на Mac OS X

Вы можете использовать re.sub с lambda:

import re
l = "test %1, %13, %14, %15"
_dict = {"%1": "%33", "%13": "%14", "%14":"%15", "%15": "%17"}
new_l = re.sub('%\d+', lambda x:_dict[x.group()], l)

Выход:

'test %33, %14, %15, %17'

Вы можете использовать dict.get, чтобы предотвратить KeyError, предостав значение по умолчанию, если ключ отсутствует в _dict:

new_l = re.sub('%\d+', lambda x:_dict.get(x.group(), x.group()), l)
5
задан Xenph Yan 24 October 2008 в 05:11
поделиться

4 ответа

Необходимо было бы использовать платформу Набора ввода-вывода для разработки собственного драйвера устройства, который будет эмулировать виртуальный CD-привод. Вот некоторые ссылки на соответствующие API для запущения Вас.

Основные принципы Набора ввода-вывода

Инструкции по Драйверу устройства Набора ввода-вывода

Темы программирования расширения ядра

7
ответ дан 13 December 2019 в 22:19
поделиться

Существует несколько различных людей ответов, сделали предложение здесь. Текущий вопрос - то, что является Вами пытающийся выполнить. Если Вы действительно захотите эмулировать CD-ROM (вниз к commandset), то необходимо будет записать драйвер устройства. Если Ваша цель состоит в том, чтобы просто эмулировать блочное устройство с содержанием, подобным CD, можно создать образ диска с помощью дисковой утилиты и позволить встроенному драйверу образа диска обработать ее для Вас.

MacFUSE полезен, если Вы хотите представить своего рода пользовательскую функциональность файловой системы, но если то, что Вы ищете, является чем-то, что имеет ту же семантику как оптический диск (является ли это и блок или уровень набора команд), это - неправильный инструмент.

2
ответ дан 13 December 2019 в 22:19
поделиться

Если Вы просто надеетесь монтировать ISO или что-то затем, что он сделан через Дисковую утилиту, просто перетащите его в боковую панель и затем выберите его и выберите, монтируются.

Если Вы хотите сделать это из кода, можно дать hdiutil команду, как показано здесь. Я не уверен, существует ли вызов API, чтобы сделать это, но то, чтобы заставлять ту команду сделать, работа является довольно безболезненной.

1
ответ дан 13 December 2019 в 22:19
поделиться

Самым простым способом смонтировать пользовательский объем является MacFUSE. Это обрабатывает детали IOKit для Вас и позволяет Вам записать реализацию в пространстве пользователя. Однако я не думаю, что можно заставить MacFUSE быть похожим” на CD; необходимо было бы изменить FUSE для достижения этого.

0
ответ дан 13 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: