8

私のコンピューターには 2 つのバージョンの Python がインストールされています。3.2 64 ビットは C:\Python32\ にインストールされ、2.7 32 ビットは C:\Python27 にインストールされます。

また、さまざまな条件に応じて使用する最適な Python バージョンのインストール パスを取得するために、レジストリ (64 ビットおよび 32 ビット) を掘り下げる C# アプリケーションがあります。

選択した Python バージョンを使用して C# アプリケーションによって実行される Code.py というスクリプトがあります。

Code.py スクリプトでは、使用された Python のバージョンに応じて、C:\Python32\Scripts または C:\Python27\Scripts にある別のスクリプトを実行したいと考えています。ただし、現在使用しているスクリプトを実行するために使用される python.exe ファイルのインストール パスを知りたいです。それを行う方法はありますか、C# アプリケーションによって選択されたインストール パスを次のように伝える必要があります。スクリプトを実行するときの引数 (これは避けたい)

編集:このコードを使用して、スクリプト内のスクリプトを外部スクリプトとして呼び出します

p = subprocess.Popen(["python", installPath + "\\Scripts\\Flake8", file], stdout=subprocess.PIPE)
4

1 に答える 1

16

を使用しsys.executableます。

>>> import sys
>>> sys.executable
'/usr/bin/python'

os.path.split()パスだけが必要な場合は、最後のコンポーネントを削除します。

>>> import os.path
>>> os.path.split(sys.executable)
('/usr/bin', 'python')
于 2012-09-14T16:00:16.793 に答える