Seite 1 von 2
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Freitag 21. Juni 2019, 13:44
von Sirius3
Komplett großgeschrieben Variablennamen sind nach Konvention Konstanten. OBJECT ist auch ein bescheidener Name, da alles ein Objekt ist. OBJEKT ist schon ein Path-Objekt, das nochmal in eins zu konvertieren, ist unsinnig.
Code: Alles auswählen
for filepath in Path.iterdir(TEMP_PATH):
if filepath.name.startswith(TEMP_NAMES):
print(filepath)
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Freitag 21. Juni 2019, 13:45
von __blackjack__
@TheBombTuber: `OBJECT` und `FILENAME` sollten nicht gross geschrieben werden, das sind ja keine Konstanten. `OBJECT` ist auch ein bisschen *sehr* generisch, denn in Python ist *alles* ein Objekt das man an einen Namen binden kann. Zudem ist `object` klein geschrieben schon der Name des eingebauten Grunddatentyps `object`.
Es macht auch nicht wirklich Sinn `Path` mit `OBJECT` aufzurufen, denn `OBJECT` ist ja bereits ein `Path`-Objekt.
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Freitag 21. Juni 2019, 13:51
von __deets__
Schoen das es klappt. Aber es gibt eine Menge zu meckern:
- GROSSBUCHSTABENSINDNURFUERKONSTANTENAUFMODULEBENEUNDNICHTFUERVARIABLEN. Also nicht OBJECT, nicht FILENAME. Sondern wenn object und filename (aber siehe gleich).
- object ist (auch kleingeschrieben) ein ganz doofer Name. Was ist denn bitte kein Objekt? Warum nicht einfach temp_file?
- Path(OBJECT).name ist cargo-cult. Das Ergebnis von iterdir sind schon Path-Objekte.
- .name nochmal an eine eigene Variable zuzuweisen ist ein bisschen ueberfluessig.
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Montag 24. Juni 2019, 07:04
von TheBombTuber
Danke an alle für die Hinweise.
Ich muss mich noch daran gewöhnen die Namenskonventionen genauer einzuhalten, aber ich versuche mein bestes.
Schlussendlich habe ich folgendes Ergebnis:
Code: Alles auswählen
for temp_files in Path.iterdir(TEMP_PATH):
if (temp_files.name).startswith(TEMP_NAMES):
print(temp_files, "wird entfernt")
shutil.rmtree(TEMP_PATH,temp_files)
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Montag 24. Juni 2019, 07:15
von __blackjack__
@TheBombTuber: `Path.iterdir()` auf der Klasse aufzurufen ist komisch/falsch.
Die Klammern um `temp_files.name` sind überflüssig.
Der `shutil.rmtree()`-Aufruf bekommt falsche Argumente.
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Montag 24. Juni 2019, 07:24
von TheBombTuber
__blackjack__ hat geschrieben: Montag 24. Juni 2019, 07:15
@TheBombTuber: `Path.iterdir()` auf der Klasse aufzurufen ist komisch/falsch.
Die Klammern um `temp_files.name` sind überflüssig.
Der `shutil.rmtree()`-Aufruf bekommt falsche Argumente.
@blackjack: Wann sollte ich denn 'Path.iterdir()' aufrufen? Oder was ist an der jetzigen Methode falsch?
Ist entfernt.
Stimmt ist mir nicht aufgefallen, dass ich `shutil.rmtree()` den Pfad jetzt zweimal übergebe, da hab ich nicht aufgepasst.
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Montag 24. Juni 2019, 07:44
von Sirius3
Code: Alles auswählen
for filepath in TEMP_PATH.iterdir():
if filepath.name.startswith(TEMP_NAMES):
print(filepath , "wird entfernt")
shutil.rmtree(filepath)
Re: Type Error bei Verwendung mehrer Menüs
Verfasst: Montag 24. Juni 2019, 10:25
von TheBombTuber
Sirius3 hat geschrieben: Montag 24. Juni 2019, 07:44
Code: Alles auswählen
for filepath in TEMP_PATH.iterdir():
if filepath.name.startswith(TEMP_NAMES):
print(filepath , "wird entfernt")
shutil.rmtree(filepath)
@Sirius3: Danke. Ist angepasst und gemerkt
