app = QApplication([]) #удалить, я же написал, что это пример для интерпретатора питона
    adir = QFileDialog.getExistingDirectory(None, "Open Directory", QDir.currentPath())
    j=1 #в плагине используется только один раз, и не ясно зачем
    for fid in featids: 
       
features={} #меня глючит или 
       
result={} #списки и 
       
features[fid]=QgsFeature() #вправду 
       curLayer.featureAtId(fid,
features[fid]) #используется 
       
result[fid]=
features[fid].geometry() #в качестве 
       attrmap=
features[fid].attributeMap() #переменных?
... 
       attr=attrmap.values()[attrindex]
       fileHandle = open (str(adir) + "/" + attr.toString() +'.txt', 'w')
       fileHandle.write(attr.toString()+"\n")
       fileHandle.write(str(j)+"\n")
       i=0
       vertex=result[fid].vertexAt(i)
       while (vertex!=QgsPoint(0,0)):
         fileHandle.write("    "+str(vertex.x())+ "     " + str(vertex.y()) +"\n")
         i+=1
         vertex=result[fid].vertexAt(i) 
       fileHandle.write("END" +"\n")
       fileHandle.write("END" +"\n")
       fileHandle.close()