0

私が書いているプログラムは、特定の他のプログラムがシステムにインストールされているかどうかを判断する必要があります。具体的には、ハッシュ値を生成するコマンド ライン プログラムです。これらのプログラムには非常に多くのバージョンが考えられるため、主要なもの (md5、whirlpool など) のみを確認する必要があります。

私が書いているプログラムはシステムにとらわれず、あらゆる win/mac/*nix 上で動作することを意図しています。

OS の標準 $PATH をすばやく検索できるようにしたいのですが、その情報 ($PATH の内容) をシステム間で取得する方法がわかりません。

ここで検索すると、python のパス、または現在実行中のスクリプトのパスを見つけることに関する資料のみが見つかりました。

誰かが解決策を持っているでしょうか、またはこれに対するクロスプラットフォームの解決策を教えてくれますか?

4

1 に答える 1

5

明らかな何かを見落としていない限り、これは非常にクロスプラットフォームである必要があります。

Linux の例:

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ['PATH']
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

MacOS の例:

Python 2.7.2 (default, Oct 11 2012, 20:14:37) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ['PATH']
/Users/vlazarenko/bin:/Users/vlazarenko/SDK/QtSDK/Desktop/Qt/474/gcc/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

ウィンドウの例:

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ['PATH']
C:\Program Files (x86)\Parallels\Parallels Tools\Applications;C:\Windows\system3
2;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0
\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\M
icrosoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DT
S\Binn\;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Microsoft SQL Serv
er\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual S
tudio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Se
rver\100\DTS\Binn\
>>>
于 2013-01-29T02:37:08.320 に答える