поиск абсолютного пути к файлу из python

если у меня есть файл test.py, который находится в каком-то каталоге, как я могу узнать из test.py, в каком каталоге он находится? os.path.curdir предоставит текущий каталог, но не каталог, в котором находится файл. Если я вызову test.py из некоторого каталога «foo», os.curdir вернет foo, но не путь test.py.

Благодарю.

  • Как эффективно сравнивать строки в pandas DataFrame?
  • Сломанная труба при использовании менеджеров многопроцессорности Python (BaseManager / SyncManager) для обмена очередью с удаленными машинами
  • Scrapy дает URLError: <urlopen error timed out>
  • Существует ли межсетевая инфраструктура GUI, которая поддерживает встраивание HTML-страниц?
  • Как обрабатывать \ 2 в пути Windows с помощью Python?
  • Красивый суп findAll не найти их все
  • Как я могу использовать python для определения конкретного значения json по ключу?
  • SQLalchemy AttributeError: объект 'str' не имеет атрибута '_sa_instance_state'
  • 5 Solutions collect form web for “поиск абсолютного пути к файлу из python”

    Вот как получить каталог текущего файла:

    import os os.path.abspath(os.path.dirname(__file__)) 

    ответ заключается в том, чтобы использовать:

      __file__ 

    который возвращает относительный путь.

     os.path.abspath(__file__) 

    может использоваться для получения полного пути.

    Ответы до сих пор правильно указывали вам на os.path.abspath , который выполняет именно задание, которое вы запросили. Однако не забывайте, что os.path.normpath и os.path.realpath также могут быть очень полезны в таких задачах (для нормализации представления и удаления символических ссылок, соответственно) во многих случаях (зависит ли ваш конкретный случай использования эти «многие» невозможно сказать из скудной информации, которую мы имеем, конечно ;-).

     import os dirname, filename = os.path.split(os.path.abspath(__file__)) 

    os.path имеет множество инструментов для работы с путями и получения информации о путях.

    В частности, вы хотите:

     os.path.abspath 
    Python - лучший язык программирования в мире.