ho una directory all'interno di una directory bar
foo
, con il file nella directory foo_file.txt
foo
e il file nella directory bar_file.txt
bar
; cioèPython comportamento os.path.relpath
computer$ ls
foo/
computer$ ls foo/
bar/ foo_file.txt
computer$ ls foo/bar/
bar_file.txt
Utilizzando la funzione di pitone os.path.relpath, mi aspetto:
os.path.relpath('foo/bar/bar_file.txt', 'foo/foo_file.txt')
che invia me:
'../bar/bar_file.txt'
Perché:
'bar/bar_file.txt'
Tuttavia, in realtà mi dà è questo? C'è un modo semplice per ottenere il comportamento che voglio?
EDIT: Questo è su Linux con Python 2.7.3
ho capito che posso usare 'os.path.relpath ('foo/bar/bar_file.txt', os.path.dirname ('foo/foo_file.txt'))' per ottenere il risultato che voglio. Ancora curioso di sapere perché il codice originale non funziona. – jveldridge