Mam katalogu bar
wewnątrz katalogu foo
, z pliku w katalogu foo
foo_file.txt
i złożyć bar_file.txt
w katalogu bar
; tjPython zachowanie os.path.relpath
computer$ ls
foo/
computer$ ls foo/
bar/ foo_file.txt
computer$ ls foo/bar/
bar_file.txt
Korzystanie z funkcji python os.path.relpath, spodziewam:
os.path.relpath('foo/bar/bar_file.txt', 'foo/foo_file.txt')
dać mi:
'bar/bar_file.txt'
jednak rzeczywiście daje mi:
'../bar/bar_file.txt'
Dlaczego czy to jest? Czy istnieje łatwy sposób na uzyskanie pożądanego zachowania?
EDIT: Jest to na Linux z Python 2.7.3
zdałem sobie sprawę, mogę użyć 'os.path.relpath ('foo/bar/bar_file.txt', os.path.dirname ('foo/foo_file.txt'))' aby uzyskać pożądany rezultat. Nadal ciekawi, dlaczego oryginalny kod nie działa. – jveldridge