9 ответов:
>>> 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'
вы можете использовать новую библиотеку Python 3.4
pathlib. (Вы также можете получить его для 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 >>>Я бы рекомендовал использовать этот пакет, как это предлагает чистый интерфейс к общей ОС.путь утилиты.
Я предпочитаю использовать 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)надеюсь, что это помогло вам
Если вы находитесь на Mac
import os upload_folder = os.path.abspath("static/img/users")это даст вам полный путь:
print(upload_folder)покажет следующий путь:
>>>/Users/myUsername/PycharmProjects/OBS/static/img/user
в случае, если кто-то использует python и linux и ищет полный путь к файлу:
>>> path=os.popen("readlink -f file").read() >>> print path abs/path/to/file
filePath = os.path.abspath(directoryName) filePathWithSlash = filePath + "\" filenameWithPath = os.path.join(filePathWithSlash, filename)
Comments