TableDiff.exe
IronPython имеет доступ ко всем тем же сборкам .NET, что и любой другой язык .NET, для написания зависимых от системы скриптов в Windows. Но те же знания Python можно использовать для написания подобных скриптов в Linux, Solaris, BSD или OS / X. Если вы используете стандартный C Python в Windows, то вы можете получить доступ к любым COM-объектам и легко перевести примеры VBA в код Python. Плагин SPAMBayes для Outlook - хороший пример того, как далеко вы можете зайти с этим. http://spambayes.sourceforge.net/
Лучшая особенность Python - это стандартная библиотека с включенными батареями, и хотя она не распространяется с IronPython, большая ее часть будет работать, если вы просто укажете IronPython на папка с установленной библиотекой из CPython. Фактически, большинство чистых библиотек Python, т.е. никаких скомпилированных модулей C или C ++, будет нормально работать с IronPython. В Windows у вас также есть возможность установить Python через Cygwin.com, что затем позволит вам использовать множество модулей, которые обычно считаются только для UNIX. Это может быть полезно, если вам необходимо поддерживать кроссплатформенные сценарии и вы предпочитаете согласованность, а не кодирование в особых случаях для каждой ОС.
И если вам нужно использовать некоторые классы Java, Jython позволяет вам использовать тот же Python язык, который вы знаете, чтобы использовать это. Совместите это с хорошей системой очередей сообщений, такой как RabbitMQ, и вы можете иметь сценарии Python, Jython и IronPython на нескольких машинах, которые будут взаимодействовать друг с другом для выполнения работы.
Существует также огромный выбор модулей Python сторонних производителей, и вы Вы могли бы потратить несколько месяцев на рыскание по delicious.com, прежде чем у вас закончатся новые открытия. Это означает, что, когда вам нужно что-то, не входящее в стандартные библиотеки Python, поиск в Google часто дает решение.
Некоторые полезные модули Python для написания сценариев для замены файлов bash, CMD и BAT - это PEXPECT http://www.noah.org/wiki/Pexpect и Python WMI http: // timgolden. me.uk/python/wmi/index.html
Но, в конце концов, Python также отлично работает для простых простых сценариев, которым не нужны какие-либо специальные функции ... пока!
Python работает как отличный универсальный инструмент, если вы хотите заменить сценарии CMD и BAT на своих компьютерах с Windows, а также может быть написан для запуска сценариев на вашем (L) inux коробки тоже. Это отличный, гибкий язык, который может справиться со многими задачами, которые вы ему бросаете.
При этом PowerShell - удивительно универсальный инструмент для администрирования всевозможных окон Windows; в нем есть все возможности .NET, а также гораздо больше интерфейсов для продуктов MS, таких как Exchange и Active Directory, которые позволяют сэкономить время. В зависимости от вашей ситуации вы можете больше использовать PS, чем другие языки сценариев, только из-за интерфейсов, доступных для продуктов MS, и я знаю, что MS, похоже, взяла на себя обязательство предоставлять эти API-интерфейсы во многих продуктах. PowerShell устанавливается на все текущие версии Windows (Windows 7+, Windows Server 2008+), и его довольно легко установить в более старых версиях.
Что касается вашего изменения, что ваши сценарии будут использоваться для запуска других процессов, я думаю, что в этом случае любой из инструментов подходит под все требования. Я бы порекомендовал PS, если вы планируете добавлять к скриптам какие-либо административные задачи, а не просто вызовы служб, но если вы будете придерживаться того, что вы описали, Python - это хорошо.
Мы хотели бы стандартизировать наши сценарии и в настоящее время в качестве стандарта используем файлы bat и cmd.
Похоже, Windows - ваша преобладающая среда.
Если это так, PowerShell будет намного лучше, чем Python.
. У меня больше опыта работы с Python, чем с PowerShell, но в отношении экосистемы Microsoft все еще не решено: переходите на PowerShell. В противном случае вы просто будете идти против течения и постоянно взаимодействовать между Python и всеми остальными командлетами.
Просто потому, что вы можете кодировать import win32com.client
на Python, это не ставит его на равные. с PowerShell в среде Windows.
Если все, что вы делаете, это порождает множество программ, специфичных для системы, без логики программирования или без нее, то оболочка для ОС может быть лучшим выбором, чем полноценный язык программирования общего назначения.
Одним из преимуществ Python является наличие сторонних библиотек и обширной встроенной стандартной библиотеки. Вы можете быстро и легко выполнять множество мощных операций с Python в различных операционных системах и средах. Это одна из причин, по которой мы используем Python здесь, в офисе, не только как язык сценариев, но и для всех наших серверных приложений баз данных.
Мы также используем его для парсинга XML и HTML, используя ElementTree и BeautifulSoup, которые очень мощные и гибкие библиотеки для Python для такого рода работы.
Мне грустно, что никто еще не упомянул старый добрый Perl.
Если вы работаете с веб-сценариями, то ActivePython ActiveState, кажется, имеет широкую поддержку API для Windows , который вам подойдет, и множество отличных переносимых библиотек для работы в Интернете.
Вопросы расплывчаты, но Python гораздо более портативен, чем PowerShell; однако Python не так распространен в Windows. Но с другой стороны, я не верю, что сценарии PowerShell будут работать на машине Windows, на которой нет PowerShell. Это означает, что они могут не работать в старомодной оболочке cmd. Я думаю, вы также найдете больше документации и библиотек для Python.
PowerShell больше похож на Bash, чем на язык программирования, такой как Python.
Может быть, вы могли бы объяснить, что вы хотите делать со своими сценариями, и вы » Возможно, я получу более точные ответы.