Wieso sollte das nicht gehen? Python kennt Sichtbarkeitsgrenzen nur bezogen auf Funktionen und Methoden. `index` kann also nach dem kompletten Durchlaufen der Schleife immer noch weiterverwendet werden, sofern du dachtest, es wäre dann nicht mehr erreichbar. Oder meintest du etwas anderes?kidchino hat geschrieben:Das hier geht dann aber nicht mehr oder?
print ("Fertig. CSV ist in " + str(index) + " grosse Stuecke mit jeweils " + str(BLOCK_GROESSE) + " Zeilen zerlegt")
CSV zeilenweise trennung und in mehre Dateien splitten
Code: Alles auswählen
Traceback (most recent call last):
File "C:\Skripttesten\Python_Skripte\csv_splitten.py", line 19, in <module>
print ("Fertig. " + QUELLE +" ist in "+index+ " CSVs ist jeweils " + str(BLOCK_GROESSE) + " Zeilen zerlegt")
NameError: name 'index' is not defined
Das kann eigentlich nur sein, wenn die Schleife 0-mal durchlaufen wird. Dann wird `index` nämlich nicht angelegt (sofern es noch nicht vorhanden war). Zum Vergleich mal eine Sitzung aus der Python-Shell:
Das ist etwas gewöhnungsbedürftig, wenn man es von anderen Sprachen her anders kennt. Aber so funktioniert Python nunmal.
Code: Alles auswählen
>>> for index in range(0):
... print('foo')
...
>>> print(index)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'index' is not defined
>>> for index in range(3):
... print('foo')
...
foo
foo
foo
>>> print(index)
2