On Thu, 15 Aug 2019 22:00:17 +0200 Paul St George <em...@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 did this: from pathlib import Path abs_myfile = Path('./myfile').resolve() which worked fine for me. -- Manfred -- https://mail.python.org/mailman/listinfo/python-list