【问题标题】:execute python script from vb.net从 vb.net 执行 python 脚本
【发布时间】:2012-11-28 06:34:54
【问题描述】:

如何从 VB.NET 代码中执行 python 脚本?

我想使用 VB.NET 为我的 python 脚本构建 GUI。 这是为了能够为脚本的用户创建一个 GUI。

我找到了这个例子:

Shell(c:\Program Files\python 266\python.exe path\myPythonScript.py +
       " " + arg1 + " " + argN)

但是我想知道有没有更合适的python脚本执行方式?

我还想了解如何处理此类设置中的错误。

非常感谢您的帮助!

谢谢,

梅里洛

【问题讨论】:

    标签: python .net scripting user-interface


    【解决方案1】:

    这就是我在 C# .Net 中的做法:

        protected override void OnClick()
        {
            System.Diagnostics.Process.Start("C:\\path\\to\\pyscript\\MyScriptHere.py");
        }
    

    【讨论】:

      【解决方案2】:

      在VB中你也可以使用命令:

       shell( "d:\path\to\your\script.py arg1 arg2" )
      

      【讨论】:

        【解决方案3】:

        您可以从 .NET 中调用 python,但如果您想要这样做的唯一原因是因为您想为您的 Python 设计一个 GUI,那么为什么不让事情变得“更干净”并在 Python 中完成呢?您可以使用TKInterwxPython 来命名两个GUI API。后者还有wxDesign,可以减轻GUI设计的负担。

        This list 为您在 Python 中的 GUI 设计提供了更多选项,而不是我列出的两个选项。

        另一方面,你没有说你正在开发什么需要 python,但如果它是用于 ArcGIS 或 GDAL(可能是两个最常见的 GIS 脚本环境),它们都具有 .NET API 以及Python。因此,您可以在 .NET 中完成 ALL

        【讨论】:

          【解决方案4】:

          就我而言,我希望 Python 脚本创建一个 csv 文件,然后使用 VB 宏从该 csv 文件中收集信息。当我向宏添加延迟时,此代码有效:

          Shell ("C:\Python27\ArcGIS10.1\python.exe myPath\PythonScript.py arg1 arg2")
          FourSecDly
          

          延迟允许 shell 进程在运行宏之前完成。延迟的代码是:

          Public Function FourSecDly()
          y = Timer + 4#
          Do While Timer < y
          DoEvents
          Loop
          End Function
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-10-26
            • 2023-03-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多