У нашей команды технических специалистов есть множество повторяющихся задач, требующих много времени, которые нам необходимо автоматизировать. В основном мы используем Sphinx , reStructuredText , Adobe Illustrator и Visio.
Конкретные вещи, которые нам нужно автоматизировать и сделать доступными через графический интерфейс или командную строку:
:toctree:
с набором параметров, которые может указать автор, которые будут использоваться для заполнения таких полей, как :ref:
имя, заголовок страницы, имя файла, индексные теги и местоположение страницы в пределах навигационная иерархия..rst
файле с указанной директивой, например рисунок или изображение с правильными размерами ширины/высоты и подписью.Мы хотим свести инструменты к минимуму. Это должно быть решение, которому можно научить всю команду, в основном не имеющую опыта программирования, но желающую учиться.
Будет ли наиболее подходящей программа типа макроса, такая как Automator (мы используем Mac)? Нужно ли нам рассматривать язык программирования? Опять же, мы хотели бы выбрать одну технологию/инструмент, а не несколько.
Автоматизируйте скучные вещи с помощью Python , Эл Свейгарт. Это лучший единственный ресурс, чтобы узнать, как делать именно то, о чем вы просите. Это книга о программировании для людей, не являющихся программистами, и в ней основное внимание уделяется автоматизации повторяющихся задач, с которыми рабочие сталкиваются в течение рабочего дня. Вы можете прочитать ее онлайн бесплатно или забрать копию на Amazon или No Starch Press (ссылки на покупку книги есть на сайте).
Чтобы автоматизировать любую задачу обработки данных, вам нужны две вещи:
Причина того, что так много систем, которые хотят обеспечить высокий уровень автоматизации, используют XML в качестве формата файла, заключается в том, что формат XML предназначен для облегчения этих двух операций. (Например, тот факт, что XML не использует указатели или структуры фиксированного размера, означает, что вы можете обновлять его содержимое без необходимости обновления других данных в файле.)
Существует также много хороших проверенных инструментов для работы с XML, как для доступа к метаданным и шаблонам в файле, так и для обновления файлов без их повреждения.
Поскольку у вас есть система с несколькими форматами файлов, которую вы хотите автоматизировать, вам нужен либо инструмент, который может получить доступ ко всем этим форматам файлов и управлять ими, либо вам нужно несколько инструментов.
Большинство языков программирования, конечно, позволят вам получить доступ или обновить практически любой файл, но, помимо библиотек для работы с определенными форматами, они также полностью оставляют на ваше усмотрение расшифровку того, как читать и записывать эти форматы файлов и что может быть очень нетривиальным. Python — отличный выбор, если вы идете по этому пути, но учтите, что если вы не сможете найти библиотеки для управления всеми форматами файлов, которые вы используете, потребуется много работы, чтобы ваша автоматизация работала надежно, и что обновление в любом задействованных форматов файлов может сломать его.
Итак, ответ заключается в том, что вам, вероятно, понадобятся различные инструменты. Но тогда, конечно, вы сталкиваетесь с проблемой, что вам нужно интегрировать работу и обмен информацией между этими инструментами.
Все это говорит о том, что если вам нужен высокий уровень автоматизации, возможно, вам лучше не искать инструменты для автоматизации задач во всех форматах, которые вы используете сейчас, а искать формат или форматы, которые уже имеют отличные функции автоматизации или которые были разработаны так, чтобы ими было легко манипулировать. И этот поиск, вероятно (хотя и не обязательно), приведет вас к XML.
Роберт Картайно
ForEachLoop
Йоэль
Амрута2799
Дэвид Фогель
Дэвид Фогель
EJoshuaS - Поддержи Украину