Python, PowerShell или другой? [закрытый]

TableDiff.exe

  • инструмент Table Difference позволяет Вам обнаруживать и согласовывать различия между источником и целевой таблицей или представлением. Утилита Tablediff может сообщить о различиях относительно схемы и данных. Самой популярной функцией tablediff является то, что это может генерировать сценарий, что можно работать на месте назначения, которое согласует различия между таблицами.

Ссылка

32
задан wonea 10 August 2018 в 09:05
поделиться

8 ответов

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 также отлично работает для простых простых сценариев, которым не нужны какие-либо специальные функции ... пока!

15
ответ дан 27 November 2019 в 20:00
поделиться

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 - это хорошо.

46
ответ дан 27 November 2019 в 20:00
поделиться

Мы хотели бы стандартизировать наши сценарии и в настоящее время в качестве стандарта используем файлы bat и cmd.

Похоже, Windows - ваша преобладающая среда.

Если это так, PowerShell будет намного лучше, чем Python.

  • PowerShell входит в состав Windows Сервер 2008. Нет необходимости развернуть / установить среду выполнения Python на каждый новый сервер, который появляется.
  • Все программное обеспечение, связанное с сервером Microsoft (Exchange, Systems Center и т. Д.), Переходит на командлеты PowerShell для функциональности и расширений.
  • Сторонние поставщики (например, плагины SCOM) будет также использовать сценарии / командлеты PowerShell для раскрытия функциональности

. У меня больше опыта работы с Python, чем с PowerShell, но в отношении экосистемы Microsoft все еще не решено: переходите на PowerShell. В противном случае вы просто будете идти против течения и постоянно взаимодействовать между Python и всеми остальными командлетами.

Просто потому, что вы можете кодировать import win32com.client на Python, это не ставит его на равные. с PowerShell в среде Windows.

20
ответ дан 27 November 2019 в 20:00
поделиться

Если все, что вы делаете, это порождает множество программ, специфичных для системы, без логики программирования или без нее, то оболочка для ОС может быть лучшим выбором, чем полноценный язык программирования общего назначения.

3
ответ дан 27 November 2019 в 20:00
поделиться

Одним из преимуществ Python является наличие сторонних библиотек и обширной встроенной стандартной библиотеки. Вы можете быстро и легко выполнять множество мощных операций с Python в различных операционных системах и средах. Это одна из причин, по которой мы используем Python здесь, в офисе, не только как язык сценариев, но и для всех наших серверных приложений баз данных.

Мы также используем его для парсинга XML и HTML, используя ElementTree и BeautifulSoup, которые очень мощные и гибкие библиотеки для Python для такого рода работы.

2
ответ дан 27 November 2019 в 20:00
поделиться

Мне грустно, что никто еще не упомянул старый добрый Perl.

2
ответ дан 27 November 2019 в 20:00
поделиться

Если вы работаете с веб-сценариями, то ActivePython ActiveState, кажется, имеет широкую поддержку API для Windows , который вам подойдет, и множество отличных переносимых библиотек для работы в Интернете.

1
ответ дан 27 November 2019 в 20:00
поделиться

Вопросы расплывчаты, но Python гораздо более портативен, чем PowerShell; однако Python не так распространен в Windows. Но с другой стороны, я не верю, что сценарии PowerShell будут работать на машине Windows, на которой нет PowerShell. Это означает, что они могут не работать в старомодной оболочке cmd. Я думаю, вы также найдете больше документации и библиотек для Python.

PowerShell больше похож на Bash, чем на язык программирования, такой как Python.

Может быть, вы могли бы объяснить, что вы хотите делать со своими сценариями, и вы » Возможно, я получу более точные ответы.

2
ответ дан 27 November 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: