How to get the realpath of a symbolic link?
Peng Yu
pengyu.ut at gmail.com
Sat Oct 31 13:11:35 EDT 2009
On Sat, Oct 31, 2009 at 11:26 AM, Emile van Sebille <emile at 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.
More information about the Python-list
mailing list