3

VB.NET コード内から Python スクリプトを実行するにはどうすればよいですか?

Python スクリプトの GUI を構築するために VB.NET を使用したいと考えています。これは、スクリプトのユーザー向けの GUI を作成できるようにするためです。

私はこの例を見つけました:

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

しかし、Pythonスクリプトを実行するより適切な方法があることを知りたいですか?

また、そのようなセットアップでエラーを処理する方法を理解したいと思います。

あなたの助けに感謝します!

ありがとう、

メリールー

4

4 に答える 4

2

これは私がC#.Netで行った方法です:

    protected override void OnClick()
    {
        System.Diagnostics.Process.Start("C:\\path\\to\\pyscript\\MyScriptHere.py");
    }
于 2012-12-10T15:19:45.610 に答える
2

VB では、次のコマンドも使用できます。

 shell( "d:\path\to\your\script.py arg1 arg2" )
于 2012-12-10T15:26:29.157 に答える
2

.NET 内から python を呼び出すこともできますが、そうしたい唯一の理由が Python 用の GUI を設計するためである場合は、物事を「よりクリーン」に保ち、すべてを Python で実行してみませんか? TKInterまたはwxPythonを使用して名前を付けることができる GUI API は 2 つだけです。後者には、GUI 設計の負荷を軽減できる wxDesign もあります。

このリストは、私がリストした 2 つ以外に、Python での GUI 設計のオプションをいくつか示しています。

一方、あなたが開発しているものに Python が必要だとは言いませんが、ArcGIS または GDAL (おそらく 2 つの最も一般的な GIS スクリプト環境) の場合、どちらも Python だけでなく .NET API も備えています。したがって、.NETですべて実行できる可能性があります。

于 2012-12-10T15:38:35.307 に答える
1

私の場合、Python スクリプトで csv ファイルを作成し、次に VB マクロでその csv ファイルから情報を収集する必要がありました。このコードは、マクロに遅延を追加したときに機能しました。

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

この遅延により、マクロを実行する前にシェル プロセスが完了しました。遅延のコードは次のとおりです。

Public Function FourSecDly()
y = Timer + 4#
Do While Timer < y
DoEvents
Loop
End Function
于 2013-02-25T15:35:06.160 に答える