absolute path to a file
Paul St George
email at paulstgeorge.com
Sat Aug 17 05:51:47 EDT 2019
On 17/08/2019 01:07, Gregory Ewing wrote:
>> On Sat, Aug 17, 2019 at 2:27 AM Paul St George
>> <email at paulstgeorge.com> wrote:
>>
>>> BUT does not work with
>>> | print('test2:',os.path.realpath(n.image.filepath))|
>>>
>>> This returns only
>>> |/image01.tif|
>
> What does n.image.filepath look like on its own? If it starts
> with a leading slash, then os.path.realpath will think it's
> already an absolute path and leave it alone.
>
> The problem then is why it's getting a leading slash in the
> first place. It looks like the result of something naively
> trying to append a filename to an empty directory path.
>
Gregory,
Thank you for this. You ask what n.image.filepath looks like on its own.
Here (below) are some tests and the results: You are right about the
leading slashes. I have tried to remove them and then use
os.path.realpath and os.path.abspath but it is as if the slash is still
there. Perhaps there is a better way to remove the slash - perhaps by
getting the name of the file. Then I could find the true path to the
directory that contains the file, and finally join the two together.
But there must be a simpler way?
print('Track A:',n.image.filepath)
---Track A: //image01.tif
print('Track B:',n.image.filepath[1:])
---Track B: /image01.tif
print('Track C:',n.image.filepath[2:])
---Track C: image01.tif
print('Track D from Track B:',os.path.realpath(n.image.filepath))
---Track D from Track B: /image01.tif
print('Track E from Track B:',os.path.realpath(n.image.filepath[1:]))
---Track E from Track B: /image01.tif
print('Track F from Track C:',os.path.realpath(n.image.filepath[2:]))
---Track F from Track C: /image01.tif
print('Track G from Track C:',os.path.abspath(n.image.filepath[2:]))
---Track G from Track C: /image01.tif
More information about the Python-list
mailing list