Функция генератора должна быть аккуратной:
def batch_gen(data, batch_size):
for i in range(0, len(data), batch_size):
yield data[i:i+batch_size]
Пример использования:
a = "abcdef"
for i in batch_gen(a, 2): print i
печатает:
ab
cd
ef
Старая ветка, но есть способ найти локальные сервисы. Обнаружение всех рекламируемых типов сервисов Bonjour. Вам нужно будет сделать некоторые манипуляции с результатами, чтобы получить типы в правильном формате. Это работает на Mac и iPhone, хотя никакие службы не обнаруживаются, если у меня нет подключения к Wi-Fi на iPhone.
NSNetServiceBrowser* domainBrowser = [[NSNetServiceBrowser alloc] init];
domainBrowser.delegate = self;
[domainBrowser searchForServicesOfType:@"_services._dns-sd._udp."
inDomain:@"local."];
Насколько мне известно, не существует функции, которая будет искать все доступные службы. Причина, вероятно, в том, что приложение, публикующее службу, может определять свой собственный тип службы.
Если вы ищете службы только общих типов (HTTP, принтер и т. Д.), Вы можете легко создать цикл для вызова - [instanceOfNSNetServiceBrowser searchForServicesOfType: inDomain:]
со всеми нужными вам типами в все домены, которые вы ранее обнаружили.
Раздел руководства документации для разработчиков по настройке NSNetService также может оказаться полезным.