Encontré este artículo que describe la "forma de QGIS GUI" para calcular las longitudes de línea. http://www.qgistutorials.com/en/docs/calculating_line_lengths.html
¿Cómo puedo calcular la longitud de una línea (característica) en una capa vectorial con código Python?
Como ejemplo, quiero saber la longitud de la línea amarilla.
for layer in QgsMapLayerRegistry.instance().mapLayers().values():
features = layer.getFeatures()
for f in features:
...Gran código, sin embargo, esto solo funciona para la capa seleccionada y solo la imprime. Con algo de ayuda de otras publicaciones y Joseph lo convertí en un código que agrega un atributo a todas las capas en su proyecto con la longitud.
fuente