Как получить абсолютный путь к файлу в Python

Учитывая такой путь, как "mydir/myfile.txt" , как найти абсолютный путь к "mydir/myfile.txt" относительно текущего рабочего каталога в Python? Например, в Windows я мог бы:

 "C:/example/cwd/mydir/myfile.txt" 

  • проверьте, сколько элементов равно в двух массивах numpy python
  • В чем преимущество понимания списка по циклу for?
  • Как сделать частичный скриншот с Selenium WebDriver в python?
  • Быстрый метод для поиска строки в большом текстовом файле с помощью python
  • Python 3 ImportError: Нет модуля с именем 'ConfigParser'
  • Невозможно импортировать модуль GeoIP в Django
  • Как вы отфильтровываете строку таким образом, чтобы возвращались только символы из вашего списка?
  • numpy arange и где
  • 7 Solutions collect form web for “Как получить абсолютный путь к файлу в Python”

     >>> import os >>> os.path.abspath("mydir/myfile.txt") 'C:/example/cwd/mydir/myfile.txt' 

    Также работает, если это уже абсолютный путь:

     >>> import os >>> os.path.abspath("C:/example/cwd/mydir/myfile.txt") 'C:/example/cwd/mydir/myfile.txt' 
     >>> import os >>> os.path.abspath('mydir/myfile.txt') 'C:\\example\\cwd\\mydir\\myfile.txt' >>> 

    Вы можете использовать новую библиотеку pathlib Python 3.4. (Вы также можете получить его для Python 2.6 или 2.7, используя pip install pathlib .) Авторы писали : «Цель этой библиотеки – предоставить простую иерархию классов для обработки путей файловой системы и общих действий, которые пользователи выполняют над ними».

    Чтобы получить абсолютный путь в Windows:

     >>> from pathlib import Path >>> p = Path("pythonw.exe").resolve() >>> p WindowsPath('C:/Python27/pythonw.exe') >>> str(p) 'C:\\Python27\\pythonw.exe' 

    Или в UNIX:

     >>> from pathlib import Path >>> p = Path("python3.4").resolve() >>> p PosixPath('/opt/python3/bin/python3.4') >>> str(p) '/opt/python3/bin/python3.4' 

    Документы находятся здесь: https://docs.python.org/3/library/pathlib.html

    Еще лучше установите модуль path.py , он переносит все функции os.path и другие связанные функции в методы объекта, которые можно использовать везде, где используются строки:

     >>> from path import path >>> path('mydir/myfile.txt').abspath() 'C:\\example\\cwd\\mydir\\myfile.txt' >>> 

    Сегодня вы также можете использовать пакет unipath , который был основан на path.py : http://sluggo.scrapping.cc/python/unipath/

     >>> from unipath import Path >>> absolute_path = Path('mydir/myfile.txt').absolute() Path('C:\\example\\cwd\\mydir\\myfile.txt') >>> str(absolute_path) C:\\example\\cwd\\mydir\\myfile.txt >>> 

    Я бы рекомендовал использовать этот пакет, поскольку он предлагает чистый интерфейс для общих утилит os.path .

    Я предпочитаю использовать glob

    вот список всех типов файлов в текущей папке:

     import glob for x in glob.glob(): print(x) 

    вот как перечислить все (например) .txt-файлы в текущей папке:

     import glob for x in glob.glob('*.txt'): print(x) 

    вот список всех типов файлов в выбранном каталоге:

     import glob for x in glob.glob('C:/example/hi/hello/'): print(x) 

    надеюсь, это помогло вам

     filePath = os.path.abspath(directoryName) filePathWithSlash = filePath + "\\" filenameWithPath = os.path.join(filePathWithSlash, filename) 
    Interesting Posts

    Pyusb на окнах – нет доступных бэкэнд

    Почему в Python требуется в три раза больше памяти?

    развертывание тензорного потока при спусках, ошибки с использованием пушки и mod_wsgi

    Pandas разделяет имя столбца на имя и фамилию, если содержит одно пространство

    SciPy вместо GNU Octave

    Скребуние данных без явного определения каждого поля, подлежащего очистке

    Фиксация ошибочных строк Unicode

    Общий синоним и часть обработки речи с использованием nltk

    сафари-драйвер selenium selenium

    Вложенный список «глубокой копии» без использования функции deepcopy

    Python / wxPython: непрерывная работа в фоновом режиме

    Не удалось обновить данные в другом файле с помощью python

    При проверке, нет ли элемента в списке, почему этот код не работает – если элемент в списке == False:

    Сложность с Django и jQuery (почему $ undefined в приложении администратора?)

    Получите первые N пар ключей из упорядоченного словаря к другому

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