Есть большая вероятность, что я по-королевски неверно истолковал ваш вопрос. Вы говорите, что существует существующий файл сокета, для которого вы хотите создать объект сокета Python? Если это так, socket.fromfd()
будет дублировать fd и создаст объект сокета.
http://docs.python.org/library/socket.html#socket.fromfd
изменить адрес Дани
Я думаю, что вы неправильно понимаете, как работают файловые дескрипторы. Существует ограничение, установленное ОС. Это не имеет ничего общего с тем, на что указывают FD, поэтому mmap вам здесь не поможет (сокетов тоже нет на диске). Возможно, вам просто нужно улучшить управление файлами - закройте файлы, когда закончите с ними.
В случае, если у вас просто действительно требовательные требования, вам может потребоваться увеличить лимит на открытые FD. Это сообщение в блоге содержит прекрасный пример использования модуля resource
(только для NIX) для получения и установки ограничения на количество открытых файлов. Справочная страница getrlimit содержит дополнительную информацию по ее использованию.