On Sat, Oct 31, 2009 at 11:26 AM, Emile van Sebille <em...@fenx.com> wrote: > On 10/31/2009 12:03 AM Peng Yu said... >> >> Suppose that I have the following directory and files. I want to get >> the canonical path of a file, a directory or a symbolic link. >> For example, for 'b' below, I want to get its canonical path as >> '/private/tmp/abspath/b'. > > So, why isn't realpath working for you? It looks like it is, and it works > that way here: > >>>> os.path.realpath('/home/emile/vmlinuz') > '/root/vmlinuz-2.4.7-10'
My definition of 'realpath' is different from the definition of 'os.path.realpath'. But I'm not short what term I should use to describe. I use the following example to show what I want. In my example in the original post, '/tmp/abspath/b' is a symbolic link to '/tmp/abspath/a' and '/tmp' is a symbolic link to '/private/tmp'. Therefore, I want to get '/private/tmp/abspath/b', rather than '/private/tmp/abspath/a', as the canonical path of 'b'. If the argument is a symbolic link os.path.realpath will return the actually target of the symbolic link. However, I want the path of the symbolic link rather than the path of the target. Hope this is clear. -- http://mail.python.org/mailman/listinfo/python-list