Du versuchst auf den Namen `localdisk` zuzugreifen bevor der an ein Objekt gebunden wurde. Der Interpretierer weiss einfach nicht was `localdisk` sein soll.
Indexe selbst zu verwalten ist in Python übrigens nicht üblich, weil es sich in den meisten Fällen vermeiden lässt und man kürzeren, übersichtlicheren Quelltext bekommt. In Deinem Quelltext erhöhst Du `line_counter` immer von Hand um eins, was der Code macht, lässt sich aber auch als "hänge jedes neue Element hinten an die Liste an" beschreiben, und dazu braucht man keinen Index.
Und wenn man eine Liste in einer Schleife auf diese Weise erstellt, dann lässt sich das oft auch als List Comprehension ausdrücken:
Code: Alles auswählen
def get_local_disks():
df_pipe = os.popen('df -l')
result = [df_line.split() for df_line in df_pipe]
df_pipe.close()
return result