如何从VB.NET代码中执行python脚本?
我想用VB.NET为我的python脚本构建一个GUI。 这是为了能够为脚本用户创建GUI。
我找到了这个例子:
Shell(c:\Program Files\python 266\python.exe path\myPythonScript.py +
" " + arg1 + " " + argN)
但我想知道有更合适的方法来执行python脚本吗?
我还想了解如何处理此类设置中的错误。
非常感谢您的帮助!
谢谢,
meryloo
答案 0 :(得分:1)
这就是我在C#.Net中的表现:
protected override void OnClick()
{
System.Diagnostics.Process.Start("C:\\path\\to\\pyscript\\MyScriptHere.py");
}
答案 1 :(得分:1)
在VB中,您还可以使用命令:
shell( "d:\path\to\your\script.py arg1 arg2" )
答案 2 :(得分:1)
你可以从.NET中调用python但是如果你想要这样做的唯一原因是因为你想为你的Python设计一个GUI,为什么不把事情做得更“干净”并用Python做呢?您可以使用TKInter或wxPython来命名两个GUI API。后者也有wxDesign,可以减轻GUI设计的负担。
除了我列出的两个之外,This list为Python提供了更多GUI设计选项。
另一方面,你没有说你正在开发什么需要python,但是如果它是用于ArcGIS或GDAL(可能是两个最常见的GIS脚本环境),那么它们都有.NET API以及蟒蛇。因此,您可以在.NET中执行 ALL 。
答案 3 :(得分:1)
就我而言,我希望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