В чем разница между os.path.basename()и os.path.dirname()?
Я уже искал ответы и читал некоторые ссылки, но не понял. Кто-нибудь может дать простое объяснение?
В чем разница между os.path.basename()и os.path.dirname()?
Я уже искал ответы и читал некоторые ссылки, но не понял. Кто-нибудь может дать простое объяснение?
Ответы:
Обе функции используют os.path.split(path)функцию, чтобы разделить имя пути pathна пару; (head, tail),
os.path.dirname(path)Функция возвращает голова пути.
Например: Dirname '/foo/bar/item'является '/foo/bar'.
os.path.basename(path)Функция возвращает хвост пути.
Например: базовое имя '/foo/bar/item'возвращается'item'
От: http://docs.python.org/2/library/os.path.html#os.path.basename
os.path.basename(os.path.dirname(path))
'foo.bar'и os.path.dirname (имя_файл) возвращает пустую строку: ''.
Подводя итог, что было упомянуто Брено выше
Скажем, у вас есть переменная с путем к файлу
path = '/home/User/Desktop/myfile.py'
os.path.basename(path) возвращает строку 'myfile.py'
и
os.path.dirname(path)возвращает строку '/home/User/Desktop'(без завершающей косой черты '/')
Эти функции используются, когда вам нужно получить имя файла / имя каталога с указанием полного пути.
В случае, если путь к файлу - это просто имя файла (например, вместо того, path = '/home/User/Desktop/myfile.py'чтобы просто указать myfile.py), os.path.dirname(path)возвращает пустую строку.
itemнаitem/, который является каталогом, тоos.path.split('foo/bar/item/')возвращается('foo/bar/item', '').