В своей работе переводчик часто имеет дело со списками, отсортированными по алфавиту: названия стран, имена, бренды и т.д. В исходном языке порядок слов будет одним, а при переводе – совсем другим. Если элементов немного, можно быстро расставить их вручную, а если их десятки?
Для облегчения этой задачи я написал простой скрипт на Python. Кладете любой список в текстовый файл input.txt, который должен находиться в одной папке со скриптом, запускаете скрипт, и отсортированный список выводится в файл output.txt. Сортируются любые данные с переносом строки на конце. Это могут быть строки, абзацы, отдельные слова, буквы, цифры, что угодно. Если файла input.txt нет, программа попросит его создать. Затем отсортированный список можно вставить через буфер обмена в любой файл или таблицу.
Конечно же, нужен движок Python, который можно взять с python.org практически для любой операционной системы и установить за пару кликов.
Кстати, списки стран и вообще простых слов очень хорошо переводит Google Translate. Недавно я сделал это очень быстро. Вставил список сначала в Google Translate, минимум правок, затем в данный скрипт – и готово, несколько секунд работы.
Так цифры тоже сортирует? по порядку?
ОтветитьУдалитьНе будет такого: ...18,19,2,20,21... ?
Сортировка алфавитная, поэтому, к сожалению, так и будет. Но очень просто написать скрипт и для числовой сортировки, вся разница в одну строку.
УдалитьЭто конечно не большая проблема, Спасибо! Пригодится! как аналог одного из онлайн сервисов...
УдалитьСпасибо, очень полезно мне как переводчику. Сегодня попробую
ОтветитьУдалитьПользователи linux/mac os могут просто выполнить команду sort. Дальше в интерактивном режиме ввести список, после завершения нажать ctrl+d, получите отсортированный ответ.
ОтветитьУдалитьА если список уже в файле input.txt, а результат надо получить в output.txt, то команда будет такая:
sort input.txt > output.txt
Результат можно и не сохранять в отдельном файле, а просто вывести в терминал, вот так:
sort input.txt
У команды есть разные дополнительные ключи, вроде -f (или --ignore-case), если сортировку нужно произвести без учёта регистра символов, или -r (или --reverse), для сортировки в обратном порядке, а также разные способы сортировки цифр (-n, -h). Подробную справку можно прочитать выполнив команду man sort
Тоже не совсем понял, зачем на питоне велосипед изобретать, если есть sort.
УдалитьИгорь написал про Linux/Mac, а я работаю в Windows.
УдалитьКод не раюотает:
ОтветитьУдалитьline 9
print(i, end='\n', file=file_new) # print sorted strings one by one
SyntaxError: invalid syntax
В чем причина ?