У вас есть правильная идея, но вы должны хранить файловые объекты, а не имена файлов в dict, и вам не нужен блок else
(который должен был быть выровнен с if
, а не for
):
files_dict = {}
with open(data_in) as fi:
for line in fi:
x = line.split(',')[1]
if x not in files_dict:
files_dict[x] = open(x + '.csv', 'w')
files_dict[x].write(line)
for file in files_dict.values():
file.close()
Какая задержка там обычно будет в канале RSS по сравнению с опросом и очисткой?
Это зависит от того, какое кэширование сайт использует для его канала RSS. На том, ТАКИМ ОБРАЗОМ, нет никакой значимой задержки на большей части подачи, но необходимо будет опрашивать канал каждую минуту или около этого. Программа не может автоволшебно получить уведомления от самого сайта, если нет своего рода сервис ping на рассматриваемый сайт.
Вы могли использовать сервис в notify.me как немного более навязчивая версия RSS-ридера. Это контролирует канал и отправляет Вам уведомления по электронной почте. Но с основным StackOverflow устанавливают, Вы были бы, вероятно, поражены уведомлениями, даже если бы было только "вопросами с щедростью" канал, потому что существует много предложений щедрости в день.
Поэтому, возможно, объединение, что с Каналами Yahoo и сборкой фильтрованное подмножество на основе информации, которые только содержат предметы, Вы интересуетесь ответом. Каждая запись в ТАК канал RSS имеет узел "категории", который содержит все его теги, и Каналы позволили бы Вам создавать И / ИЛИ / НЕ выражения на основе тех категорий. (и я не знаю то, что могли бы быть выставлены другие атрибуты?)
Даже если Вы не захотите раскрывающиеся уведомления, которые Вы получаете с электронной почтой, то решение для Каналов позволит Вам контролировать то, что Вы хотите в канале RSS. Я предположил бы, что Вы займетесь часом или двумя из задержки, все же.
В отношении вопроса № 1:
Сделайте его столь коротким, как Вам нравится. Если независимо от того, что Вы используете для получения канала правильно, поддерживает Завершающие теги и Управление Кэша HTTP, необходимо быть в порядке. При управлении и сервером и клиентом возможно, проверение Delta, Кодирующей (RFC 3229), было бы хорошей идеей.
Забейте читателя с открытым исходным кодом для превращения на/мигать светодиоде блокировки прокрутки.
Вы могли использовать возврат tcp-стиля для обработки опроса канала. Чем чаще кто-то отправляет, тем чаще Вы опрашиваете.
Google Reader делает это; чем больше я размещаю в своем блоге, тем быстрее каждый развешивает шоу.
Венский RSS-ридер для Mac показывает уведомления о Рычании, но только формы "X новых сообщений" и не очень в реальном времени.
VibeFire является достойным решением для этого. Это считает каналы RSS и раскрывающиеся уведомления (который автоматически уйдет, если Вы не считаете их) для Вас. http://vibefire.com, если Вам интересно. Это - связанный установщик, хотя, но это не установит ничего, которое Вы не принимаете.