Я хотел бы построить абсолютный путь в python, и в то же время оставаясь не обращая внимания на такие вещи, как разделитель путей.
edit0:, например, есть каталог в корне моей файловой системы /etc/init.d (или C:\etc\init.d на w32), и я хочу построить это только из элементов etc и init.d (на w32, вероятно, мне также нужен идентификатор диска, например C:)
Чтобы не беспокоиться о разделителях путей, os.join.path(), очевидно, является инструментом выбора. Но кажется, что это только создаст относительные пути:
print "MYPATH:", os.path.join('etc', 'init.d')
MYPATH: etc/init.d
Добавление фиктивного первого элемента (например, '') ничего не помогает:
print "MYPATH:", os.path.join('', 'etc', 'init.d')
MYPATH: etc/init.d
Создание первого элемента абсолютно очевидно помогает, но этот вид побеждает идею использования os.path.join()
print "MYPATH:", os.path.join('/etc', 'init.d')
MYPATH: /etc/init.d
edit1: с помощью os.path.abspath() будет пытаться преобразовать относительный путь в абсолютный путь.
например запустите в рабочем каталоге /home/foo следующее:
print "MYPATH:", os.path.abspath(os.path.join('etc', 'init.d'))
MYPATH: /home/foo/etc/init.d
Итак, каков стандартный кросс-платформенный способ "root" пути?
root = ??? # <--
print "MYPATH:", os.path.join(root, 'etc', 'init.d')
MYPATH: /etc/init.d
edit2: вопрос действительно сводится к следующему: поскольку конечная косая черта в /etc/init.d делает этот путь абсолютным путем, существует ли способ создать эту конечную косую черту программно?
(Я не хочу делать предположения, что конечная косая черта указывает абсолютный путь)