От , "Как Установить Django" документация (хотя это полезно для больше, чем просто установки Django) - выполняют следование из оболочки:
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
Отформатированный для удобочитаемости (а не использование в качестве остроты), который похож на следующее:
from distutils.sysconfig import get_python_lib
print(get_python_lib())
Возможно os.path.abspath ( )
сделает это:
import os
print os.path.abspath("something.exe")
Если ваш something.exe
не находится в текущем каталоге, вы можете передать любой относительный путь, и abspath ()
разрешит его.
используйте os.path.abspath , чтобы получить нормализованную абсолютизированную версию имени пути
используйте os.walk , чтобы узнать его местоположение
import os
exe = 'something.exe'
#if the exe just in current dir
print os.path.abspath(exe)
# output
# D:\python\note\something.exe
#if we need find it first
for root, dirs, files in os.walk(r'D:\python'):
for name in files:
if name == exe:
print os.path.abspath(os.path.join(root, name))
# output
# D:\python\note\something.exe
если вы совершенно не знаете, где он находится, единственный способ найти его, начиная с корня c: \
import os
for r,d,f in os.walk("c:\\"):
for files in f:
if files == "something.exe":
print os.path.join(r,files)
, иначе, если вы знаете, что есть только несколько мест, где вы храните себя exe, как и ваша system32, а затем начните поиск оттуда. вы также можете использовать os.environ ["PATH"], если вы всегда помещаете свой .exe в один из этих каталогов в своей переменной PATH.
for p in os.environ["PATH"].split(";"):
for r,d,f in os.walk(p):
for files in f:
if files == "something.exe":
print os.path.join(r,files)
Эээ ... Этот вопрос немного неясно.
Что значит "иметь"? У вас есть название файла? Вы его открыли? Это файловый объект? Это дескриптор файла? Что ???
Если это имя, что вы подразумеваете под словом «найти»? Вы хотите искать файл в нескольких каталогах? Или вы знаете, в каком каталоге он находится?
Если это файловый объект, то вы должны были открыть его, разумно,