Найдите системные пути, не содержащиеся в переменной среды, с помощью python - PullRequest
1 голос
/ 28 февраля 2020

Поэтому, когда я пытаюсь найти путь из cmd с помощью where azuredatastudio, я получаю путь. Когда я go в Python и делаю print(os.environ), я получаю много определенных путей, но не это из верхней команды в cmd.

Как получить в этом примере azuredatastudio путь из Python а где он хранится?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

Команда WHERE примерно эквивалентна команде UNIX which. По умолчанию поиск выполняется в текущем каталоге и в PATH.

Источник: https://ss64.com/nt/where.html

Так что вам придется явно посмотреть по путям в переменной среды PATH: os.environ['PATH']. Вы найдете реализацию в этом вопросе, например, здесь: Проверьте, существует ли исполняемый файл в Python?

Кроме того, вы можете просто запустить команду из Python:

from subprocess import check_output
path = check_output(["where", "azuredatastudio"])
print(path)
0 голосов
/ 28 февраля 2020

Простой способ сделать это:

import os

os.system("where azuredatastudio")

или, если вы хотите сохранить его в переменной.

import subprocess
process = subprocess.Popen("where azuredatastudio",stdout=subprocess.PIPE)
print(process.stdout.readline())
...