Hallo,
ich würde gerne über Python überprüfen, ob eine Datei eine Dateiendung hat.
Wenn die Datei keine Dateiendung hat, soll diese automatisch umbenannt werden.
Wie kann ich überprüfen, welche Dateien in einer Directory keine Endung haben?
Wie würde die If-Bedingung aussehen?
Ich freue mich auf eine Antwort und wünsche viele Grüße
Prüfen, ob Dateien in einem Directory eine Dateiendung haben
Hey Python ,
also grundsätzlich die Dateien aus dem Verzeichnis auslesen und dann
mit einer if Bedingung prüfen, ob ein Punkt existiert. Du kannst auch den
letzten Punkt und damit die Dateiendung auslesen ( rsplit ).
Je nachdem ob du mehrere Punkte im Dateinamen hast, müsstest du sie
halt abzählen.
VG
YAPD
also grundsätzlich die Dateien aus dem Verzeichnis auslesen und dann
mit einer if Bedingung prüfen, ob ein Punkt existiert. Du kannst auch den
letzten Punkt und damit die Dateiendung auslesen ( rsplit ).
Code: Alles auswählen
Files = [ "Testumgebung.py" , "OS.py" , "Module.py" ]
for x in Files :
print( x )
if "." in x :
print( "Datei - Endung Gefunden !" )
else :
print( "Keine Datei - Endung !" )
halt abzählen.
VG
YAPD
Zuletzt geändert von YAPD am Montag 2. August 2021, 11:09, insgesamt 2-mal geändert.
-----
Yet Another Python Developer
Yet Another Python Developer
@Python123,
Dafür würde ich die pathlib verwenden.
Über "suffix" spricht man die Dateiendung an.
https://docs.python.org/3/library/pathl ... ath.suffix
Dafür würde ich die pathlib verwenden.
Über "suffix" spricht man die Dateiendung an.
https://docs.python.org/3/library/pathl ... ath.suffix
Code: Alles auswählen
import pathlib
folder_name = "C:/test"
new_extension = ".txt"
folder = pathlib.Path(folder_name)
# alle Unterverzeichnisse und darin enthaltene Dateien durchsuchen
for element in folder.glob("**/*"):
if element.is_file() and not element.suffix:
# replace zum automatischen umbenennen
element.replace(element.with_suffix(new_extension))
Zuletzt geändert von rogerb am Montag 2. August 2021, 11:12, insgesamt 1-mal geändert.
-
- User
- Beiträge: 12
- Registriert: Freitag 20. Dezember 2019, 12:39
Hallo an alle,
vielen Dank für euere Antworten.
Ich werde das später alles in Ruhe ausprobieren
vielen Dank für euere Antworten.
Ich werde das später alles in Ruhe ausprobieren
Hallo Zusammen,
sorry vielmals, dass die Dateiendung ersetzt werden soll, habe ich überlesen
Das Einlesen der Verzeichnisse hab ich mit einer List simuliert, das war ja aber
auch nicht die Frage
VG
YAPD
sorry vielmals, dass die Dateiendung ersetzt werden soll, habe ich überlesen
Das Einlesen der Verzeichnisse hab ich mit einer List simuliert, das war ja aber
auch nicht die Frage
VG
YAPD
-----
Yet Another Python Developer
Yet Another Python Developer
@YAPD: Dateien sind keine einfachen Strings, mit rsplit sollte man also nicht damit herumhantieren.
@Python123.py: Wie in Deinem andern Beitrag schon geschrieben, gibt es zum Arbeiten mit Dateien `pathlib.Path`. Diese kennen .suffix um zu prüfen, ob eine Datei eine Endung hat, und .with_suffix um einen Pfad mit Suffix zu erzeugen.
EDIT: rogerb hat Dir ja jetzt schon eine Musterlösung geschenkt, so dass sich Dein Lernerfolg in Grenzen halten kann.
@Python123.py: Wie in Deinem andern Beitrag schon geschrieben, gibt es zum Arbeiten mit Dateien `pathlib.Path`. Diese kennen .suffix um zu prüfen, ob eine Datei eine Endung hat, und .with_suffix um einen Pfad mit Suffix zu erzeugen.
EDIT: rogerb hat Dir ja jetzt schon eine Musterlösung geschenkt, so dass sich Dein Lernerfolg in Grenzen halten kann.
@Sirius3,
Es ist im übrigen auch keine Musterlösung, sondern ein Beispiel, das man noch auf die jeweilige Situation übertragen muss.
Ich bin immer sehr dankbar für Beispiele. Aus dem Grund biete ich das anderen auch an.
Jeder kann selbst entscheiden, was er damit macht.
Hoppla, aus welcher Ecke kommt das denn? Hat da jemand schlechte Laune?rogerb hat Dir ja jetzt schon eine Musterlösung geschenkt, so dass sich Dein Lernerfolg in Grenzen halten kann.
Es ist im übrigen auch keine Musterlösung, sondern ein Beispiel, das man noch auf die jeweilige Situation übertragen muss.
Ich bin immer sehr dankbar für Beispiele. Aus dem Grund biete ich das anderen auch an.
Jeder kann selbst entscheiden, was er damit macht.
Ja so geht es mir auch. Ich bin immer dankbar, wenn ich Verbesserungsvorschläge bekomme und
versuche, mich erst mit der Materie zu beschäftigen, bevor ich Euch im Forum um Rat frage
Cheers
YAPD
versuche, mich erst mit der Materie zu beschäftigen, bevor ich Euch im Forum um Rat frage
Cheers
YAPD
-----
Yet Another Python Developer
Yet Another Python Developer
@YAPD: Noch ein Beispiel, warum ein `"." in filename` nicht richtig funktioniert: Was ist mit `.bashrc`? `.config`? `pathlib.Path` hat diese Fälle schon eingebaut, man macht sich also nur unnötige Arbeit, wenn man das immer wieder selbst nachprogrammiert. Und im Zweifelsfall hat man nicht alle Randfälle bedacht.