s0rg
Я также о BOM подумал - но проверить не мешает )
Да это было оно.
Однако возникла кое-какая другая проблема.Это касается как скрипта kachayev, так и скрипта s0rg.
В общем смысл таков: скрипт читает (или выводит) не все строки в первом файле. Тоесть, если я закаменчиваю последнюю строку в скрипте kachayev, например
#print '\n'.join([l for l in lines if l.find(s) != -1])
я по идее должен получить файл аналогичный первому файлу с символами, однако я получаю файл, в котором число строк такое же, но некоторые строки пустые.
При исполненни обоих скриптов в выходном файле там, где потеряна строка с символом из первого файла я получаю среди списков необходимого мне типа просто наборы слов без ключевого символа над ними. При этом эти слова не соответсвуют пропущенному символу. Тоесть в списке есть слова, в которые этот символ входит, но есть еще и куча других, в которых его нет.
Я подумал, что что-то тут неладно может быть с кодировкой, но пропускаемые символы с виду между собой не связаны.
Что касается самих файлов, то это, как я говорил utf-8, а символы - китайские/японские иероглифы, если верить Ворду - из “набора ККЯ из шестандц. Юникода” . Собственно я делаю на общественных началах некоторый словарь известных слов, содержащих известные иероглифы для последующего использования в другой программе, но я думаю это к делу не относится.
Собственно на что конкретно грешить я и не понимаю.
Чтобы не быть голословным подкину сами файлы и оба выходных. С закоменченной строкой вывода в скрипте и с нормальными скриптами.
Результат у обоих скриптов одинаковый (теряются одни и те же символы), за исключением порядка следования групп ключевых символов.
http://rghost.ru/15609311