construindo caminho absoluto com os.path.join ()

Eu gostaria de construir um caminho absoluto em python, enquanto ao mesmo tempo ficar bastante alheio a coisas como separador de caminho.

edit0: por exemplo, há um diretório na raiz do meu sistema de arquivos/etc/init.d (ouC:\etc\init.d no w32), e eu quero construir isso apenas a partir dos elementosetc einit.d (no w32, eu provavelmente também preciso de um ID de disco, comoC:)

Para não ter que se preocupar com separadores de caminho,os.join.path() é obviamente a ferramenta de escolha. Mas parece que isso só vai criarrelativo caminhos:

 print "MYPATH:", os.path.join('etc', 'init.d')
 MYPATH: etc/init.d

Adicionando um primeiro elemento fictício (por ex.'') não ajuda em nada:

 print "MYPATH:", os.path.join('', 'etc', 'init.d')
 MYPATH: etc/init.d

Tornar o primeiro elemento absoluto obviamente ajuda, mas esse tipo de derrota a ideia de usaros.path.join()

 print "MYPATH:", os.path.join('/etc', 'init.d')
 MYPATH: /etc/init.d

edit1: usandoos.path.abspath() tentará apenas converter um caminho relativo em um caminho absoluto. por exemplo. considere a execução do seguinte no diretório de trabalho/home/foo:

 print "MYPATH:", os.path.abspath(os.path.join('etc', 'init.d'))
 MYPATH: /home/foo/etc/init.d

Então, qual é a maneira padrão de cruzar uma plataforma para "erradicar" um caminho?

 root = ??? # <--
 print "MYPATH:", os.path.join(root, 'etc', 'init.d')
 MYPATH: /etc/init.d

edit2: a questão realmente se resume a: desde o primeiro corte em/etc/init.d faz deste caminho um caminho absoluto, existe uma maneira de construir este slash de forma programática? (Eu não quero fazer suposições de que uma barra principal indique um caminho absoluto)

questionAnswers(5)

yourAnswerToTheQuestion