питон определяет системную систему ПУТИ агностически

Программа, которую я пишу потребности определить, устанавливаются ли определенные другие программы на системе. Определенно программа командной строки, чтобы произвести значение хэш-функции. С тех пор есть столько возможных версий этих программ, я должен проверить на главные только (md5, джакузи, и т.д.).

Программа, которую я пишу, является системным агностиком, и предназначенный, чтобы работать на любой победе/Mac/*nix.

Я хочу быть в состоянии сделать быстрый поиск стандартного $PATH OS, но я не знаю, как восстановить ту информацию (содержание $PATH) от системы до системы.

Поиски, здесь поднятые только материал по нахождению пути питона или пути в настоящее время бегущего сценария.

Кто-либо имел бы решение или был бы в состоянии указать мне на кросс-платформенное решение этого?

0
nl ja de
@Mike: he' s, не спрашивая о пути питона..
добавлено автор favoretti, источник
@Mike - не действительно, путь питона sys.path переменная, а не os.environ [' PYTHONPATH'] , который может быть не определен в некоторых случаях края. С другой стороны sys.path мог бы включать пути, которые являются not' t на вашем PYTHONPATH :)
добавлено автор favoretti, источник
@Mike - не действительно, путь питона sys.path переменная, а не os.environ [' PYTHONPATH'] , который может быть не определен в некоторых случаях края. С другой стороны sys.path мог бы включать пути, которые являются not' t на вашем PYTHONPATH :)
добавлено автор favoretti, источник
Майк, PYTHONPATH не является тем же самым как ПУТЬ . Упрощенный, PYTHONPATH добавляет к местоположениям, где Пайтон ищет модули, импортируя, в то время как ПУТЬ является списком операционной системы местоположений, чтобы искать исполняемые файлы.
добавлено автор Ned Deily, источник
Майк, PYTHONPATH не является тем же самым как ПУТЬ . Упрощенный, PYTHONPATH добавляет к местоположениям, где Пайтон ищет модули, импортируя, в то время как ПУТЬ является списком операционной системы местоположений, чтобы искать исполняемые файлы.
добавлено автор Ned Deily, источник

1 ответы

Это должно быть довольно кросс-платформенным, если я не пропускаю что-то очевидное:

Пример 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

Пример МАКОСА:

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

Пример Windows:

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\
>>>
5
добавлено
Таким образом на всех трех главных системах переменная - на самом деле ПУТЬ? Я wasn' t уверенный, если это имело место, который является почему я didn' t идут этим путем. (Никакой доступ к Mac и окнам, свободным в течение 10 лет...)
добавлено автор Jase, источник
Я добавил бы .split (os.pathsep) до конца команды печати. Дает вам хороший список
добавлено автор Mike, источник
Mac, наверняка $PATH , мой пример от Mac:) Windows %PATH % , позволяют мне просто быстро проверить это на вас.
добавлено автор favoretti, источник
@Jase: посмотрите редактируют
добавлено автор favoretti, источник
Но знайте, что ценность $PATH на системах Unix-y, включая OS X, часто изменяется пользователями в их профилях раковины. И, если программой управляют под окружающей средой GUI в OS X или как демон, , у $PATH могут быть различные ценности, чем если бы управляется от раковины "логина". Дело в том, что ценность , $PATH может изменить в зависимости от контекста вашу программу, бежит в. Это может или может не быть значительно для вашего варианта использования, но необходимо иметь в виду его.
добавлено автор Ned Deily, источник
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community