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()