<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    The docs say that the return value of GetName() <br>
    <blockquote>should be sufficient to open the data source if passed
      to the same <a class="el">OGRSFDriver</a> that this data source
      was opened with, but it need not be exactly the same string that
      was used to open the data source.<br>
    </blockquote>
    Looking at your code snippet I'm guessing that
    /home/nyall/dev/QGIS/tests is the current working directory and the
    return value is relative to that path, hence just the bare
    filename.  I'd suggest testing with a file not located in the
    working directory and see if you get a full path (or a path relative
    to the working directory). Unfortunately the laptop I'm mailing from
    doesn't have GDAL/OGR installed, so I can't test this myself. <br>
    <br>
    David<br>
    <br>
    On 6/10/2019 10:17 PM, Nyall Dawson wrote:
    <blockquote type="cite">
      <pre class="moz-quote-pre" wrap="">Hi list,

If I have a bunch of say shapefiles in a folder, OGR is happy to let
me access these as a dataset, e.g.

da = r"/home/nyall/dev/QGIS/tests/testdata"
driver = ogr.GetDriverByName('ESRI Shapefile')
dataSource = driver.Open(da, 0)

for i in dataSource:
    print(i.GetName())

My question is -- GetName() here returns just the file base name (i.e.
"lines" for "/path/lines.shp"). Is there anyway to retrieve the actual
layer file path for these?

Nyall
_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a></pre>
    </blockquote>
    <br>
  </body>
</html>