6

想象一下,您需要开发和安排一个应用程序/脚本来执行以下操作:-

  • 引用一个或多个 .net 程序集
  • 查询API,获取一些对象
  • 为每个对象调用 API 中的另一个方法

你会用什么?

在过去,我创建了执行上述操作的小型控制台应用程序,但它似乎有点笨拙和矫枉过正。

我想像 PowerShell 或 IronPython 这样的东西可能更合适。

有什么建议吗?

4

5 回答 5

10

绝对是 PowerShell,这正是它的设计目的。

这里有一些有用的资源可以帮助您入门:

于 2009-02-14T16:44:36.957 回答
3

PowerShell 的优点之一是它们在后台做了很多工作以使事物轻松组合在一起,进行隐式类型转换等以使一个程序的输出可用作另一个程序的输入。而且由于一切都传递对象,因此您不必编写文本处理代码来将事物拼凑在一起。

但是,当我编写大量原始代码而不是严重依赖库并将组件粘合在一起时,我确实更喜欢 Python。

于 2009-02-14T17:30:19.467 回答
2

应用程序驱动程序的问题是它们经常中断。应用程序不断地改变它们的外表面,这对驱动程序造成了严重破坏。因此,您需要不断更新部分驱动程序。我发现非编译的动态语言非常适合这种情况,因为您可以快速进行更新并启动任务。

Powershell 是一项很棒的技术。它非常灵活且非常容易上手。它是编译代码和动态代码的混合体。因此,驱动程序中算法较多的部分可以是任何编译语言,而更脆弱和经常更新的部分可以是脚本。它们无缝集成。

我是一个狂热的 Powershell 用户,并且对 IronPython 没有太多经验(因此我选择了这个)。IronPython 也可以具有这些功能,因此,如果您对该语言更熟悉,那么您应该去那里。

于 2009-02-14T16:49:22.157 回答
2

铁蟒。

我尝试同时使用 Powershell 和 IronPython 来完成上述任务,并得出结论 IronPython 最适合(对我来说)。

公平地说,Powershell 或任何基于 DLR 的语言(如 IronPython 或 IronRuby)都适合该任务,并且比处理琐碎的控制台应用程序开销更少。

如果您所做的只是使用一个 .net 库并编写一些脚本,那么 IronPython 将超越 Powershell。如果您想利用某种 shell 类型的功能或使用现有的 CMDLETS,那么 Powershell 是更好的选择。

IronPython 作为 python 的实现,带来了 python 脚本的所有优点,例如易于学习、易于阅读和快速开发。

于 2009-02-19T10:37:31.480 回答
0

出于对 PowerShell 的失望,我确实研究了 IronPython。我认为这是 powershell 的一个很好的替代品,特别是如果你是一名程序员。即使你是一名 IT 人员,我认为 Windows 命令 shell + IronPython 是一个很好的组合,可以满足你在 .NET 时代的需求(就像 COM 时代的命令 shell + vbscript 一样)。

于 2009-02-14T19:16:54.407 回答