absolute path to a file

Chris Angelico rosuav at gmail.com
Thu Aug 15 16:09:33 EDT 2019


On Fri, Aug 16, 2019 at 6:01 AM Paul St George <email at paulstgeorge.com> wrote:
>
> Can someone please tell me how to get the absolute path to a file? I
> have tried os.path.abspath. In the code below I have a problem in the
> final line (15).
>
> #
> |import bpy||
> ||import os||
> ||
> ||texture_list = []||
> ||
> ||with open(os.path.splitext(bpy.data.filepath)[0] + ".txt", "w") as
> outstream:||
> ||
> ||
> || for obj in bpy.context.scene.objects:||
> ||    for s in obj.material_slots:||
> ||        if s.material and s.material.use_nodes:||
> ||            for n in s.material.node_tree.nodes:||
> ||                if n.type == 'TEX_IMAGE':||
> ||                    texture_list += [n.image]||
> ||print(obj.name,'uses',n.image.name,'saved at',n.image.filepath, 'which
> is at', os.path.abspath(n.image.filepath), file=outstream)||
> |#
>
> This gives me:
> ---Plane uses image01.tif saved at //image01.tif which is at //image01.tif
> ---Plane uses image02.tif saved at //../images/image02.tif which is at
> //images/image02.tif
>
> But I want an absolute path such as:
> ---Plane uses image01.tif saved at /Users/Lion/Desktop/test8/image01.tif
> ---Plane uses image02.tif saved at /Users/Lion/Desktop/images/image02.tif
>
> If it is relevant, my files are on a Mac. Hence the escaped forward slash.
>

I don't understand the meaning of "escaped forward slash". What does
that mean, and how does it affect your path names?

-- not a Mac person --

ChrisA



More information about the Python-list mailing list