Cathrin писал(а):Вот таким образом идет запись,записывает атрибуты вообще всех объектов
Если он новый и у него ничего нет,почему тогда идет запись?
Встречный вопрос. А вы не видите различий между первым и вторым вариантом кода? Во втором варианте у вас идет обращение к объектам слоя, а в первом, вы обращаетесь к «пустому» объекту
Давайте я вам на пальцах попробую объяснить. Представьте, что у вас есть пустая коробочка. Это ваш объект QgsFeature. Что вы сейчас можете из этой коробочки достать? Правильно, ничего. Это то, что вы делаете в первом варианте кода. Но если сначала в коробочку положить что-то, например, конфету, то следующая попытка достать что-либо из коробочки будет успешной. Это второй вариант вашего кода.
Не обижайтесь, но мне кажется, у вас хромает теория. Не по PyQGIS (хотя и по ней тоже), а вообще по основам программирования.
Cathrin писал(а):и кстати,вы случайно не знаете,как сделать чтобы он брал атрибуты именно выделенного объекта?
Разумеется знаю. И вовсе не случайно

. Нужно сначала получить выделенный объект, а потом вызвать метод attributeMap() у него. Как вы будете получать этот объект зависит от условий. Можно обратиться сразу по ID, можно найти перебором, можно запросом (пространственным или по атрибутам).
Cathrin писал(а):я убираю вайл ,но не фурычит....
Не распарсил.