Кажется, os.path.abspath(finename) будет работать. Попробуйте
os.path.abspath(finename)
shpfiles = [] for path, subdirs, files in os.walk(path): for x in files: if x.endswith(".shp") == True: shpfiles.append(os.path.join(path, x))