Anzeige:
Ergebnis 1 bis 8 von 8

Thema: alle hochkanten Bilder in Verzeichnis auf EIN mal löschen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Jun 2016
    Ort
    linuxforen
    Beiträge
    28

    alle hochkanten Bilder in Verzeichnis auf EIN mal löschen

    Moin,

    Gibt es ein Programm / Tool, welches mir ermöglicht im aktuellen Verzeichnis bzw. in allen Unterverzeichnissen alle Bilder, die hochkant sind, zu löschen?
    Präferiere Terminalanwendung, da diese besser zu steuern ist.

    Hoffe es gibt etwas derartiges..

    LG
    TimeMen

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    20.869
    kommt drauf an, woran sich das "hochkant" festlegen lässt.

    Was "komplett fertiges" wüsste ich nicht, aber ein kleines Script, welches über alle Bilder drüberläuft und entweder die Info aus den EXIF-Daten ausliest oder eben schaut, ob Höhe > Breite ist (man muss sich halt für eines entscheiden, sonst...) - dürfte recht schnell geschrieben sein...
    Ich bin root - ich darf das.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Jun 2016
    Ort
    linuxforen
    Beiträge
    28
    Hallo,
    naja, mit Pythons PIL kann man ja recht fix Höhe mit Breite vergleichen.
    Ist nur die Frage ob sich Python dafür rentiert.

    Theoretisch müsste ich durch alle Verzeichnisse iterieren und dabei die jeweils 5 Bilder mit PIL untersuchen, falls Höhe > Breite den Dateipfad in ein Array speichern und am Ende alle Arrayeinträge in den Verzeichnissen löschen.
    Klingt das plausibel?
    Oder bietet sich Bash besser an.
    Dachte, es gäbe da einen WenigZeiler für Bash.

    LG und Danke schonmal,
    TimeMen

  4. #4
    Registrierter Benutzer Avatar von snowcrash23
    Registriert seit
    Jun 2006
    Ort
    Unbekannt Verzogen
    Beiträge
    554
    Hier mal ein wenig Python (ist allerdings ungetestet):
    Code:
    from pathlib import Path
    from PIL import Image
    
    for i in Path('/my/pictures').iterdir():
        if i.is_file():
            try:
                w, h = Image.open(i).size
                if h > w:
                    print(f'deleting {i}')
                    # i.unlink()  # uncomment this line to delete files!
            catch Exception as e:
                print(e)
    MfG
    snocrash23
    OS:Arch LinuxCPU:Core i5-2500K
    MB:P8P67PRORAM:16GB DDR3GK:NV GTX570

    Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

  5. #5
    Registrierter Benutzer
    Registriert seit
    Jun 2016
    Ort
    linuxforen
    Beiträge
    28
    Zitat Zitat von snowcrash23 Beitrag anzeigen
    Hier mal ein wenig Python (ist allerdings ungetestet):
    Code:
    from pathlib import Path
    from PIL import Image
    
    for i in Path('/my/pictures').iterdir():
        if i.is_file():
            try:
                w, h = Image.open(i).size
                if h > w:
                    print(f'deleting {i}')
                    # i.unlink()  # uncomment this line to delete files!
            catch Exception as e:
                print(e)
    MfG
    snocrash23

    Cool, danke!
    Wäre bei mir etwas länger gewesen, zumal ich die pathlib bis dato nicht kannte, sie aber ab jetzt anwenden werde, da mir die Löschmöglichkeiten per os.system oder subprocess.Popen immer etwas unsympathisch sind.
    Zumal der o.g. Weg vermutlich sogar Windows-tauglich ist?

    Schönen Abend dir noch!
    TimeMen

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.146
    Geht so bedingt ab Python 3.4 über all da wo Python läuft, ab da ist pathlib verfügbar - sa https://docs.python.org/3/library/pathlib.html
    PIL ist inzwischen durch Pillow ersetzt worden und beide zusammen ist wohl nicht gewünscht - https://pillow.readthedocs.io/en/5.2...tallation.html
    Wie auch immer, ich finde schon diesen Namens Konflikt zwischen PIL und Pillow unnötig verwirrend und würde daher eher was wie http://docs.wand-py.org/en/0.4.4/ zum Auswerten der Bilder nehmen. Das ist nichts gegen den Code, das sind ja Seiteneffekte der Bibliotheken die irgendwie unglücklich kollidieren; ist irgendwie auch ein Python 2 vs 3 Konflikt, der 2020 enden wird. Sowas sollte man meiner Erfahrung nicht Unterschätzen, wenn "der Coder" auch auf fremden Systeme laufen soll

    [edit]Dateien löscht man übrigens besser mit os.remove, das ist schneller als mit os.system einen Prozess dafür zu erzeugen, sa https://docs.python.org/3/library/os...move#os.remove vs https://docs.python.org/3/library/os...move#os.system - das gilt so auch für Python 2

    [edit2]Rekursion bzw. das verarbeiten der Unterverzeichnisse fehlt da noch, alternativ glob verwenden - https://docs.python.org/3/library/pa...hlib.Path.glob
    Geändert von nopes (05.10.18 um 22:08 Uhr) Grund: typos
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  7. #7
    Registrierter Benutzer Avatar von snowcrash23
    Registriert seit
    Jun 2006
    Ort
    Unbekannt Verzogen
    Beiträge
    554
    Interessant! Und wand kannte ich bisher auch noch nicht, API macht einen guten Eindruck.
    Rekursion bzw. das verarbeiten der Unterverzeichnisse fehlt da noch
    Na das hab ich Depp natürlich vergessen... Aber deiner Lösung ist nichts mehr hinzuzufügen.

    MfG
    snowcrash23
    OS:Arch LinuxCPU:Core i5-2500K
    MB:P8P67PRORAM:16GB DDR3GK:NV GTX570

    Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

  8. #8
    Registrierter Benutzer
    Registriert seit
    Jun 2016
    Ort
    linuxforen
    Beiträge
    28
    Hey,
    danke für die Diskussion hier.
    Da lernt man ja noch eine Menge dazu.
    Auch, dass man sich besser über mögliche Bibliotheken informieren sollte.

Ähnliche Themen

  1. Alle Bilder aus dem Ordner anzeigen und verschieben.
    Von Cascraft im Forum Linux Allgemein
    Antworten: 6
    Letzter Beitrag: 13.01.16, 23:47
  2. Viele Bilder in einem Verzeichnis drucken?
    Von oli993 im Forum Anwendungen Allgemein, Software
    Antworten: 3
    Letzter Beitrag: 04.12.05, 09:16
  3. apache läd immer alle bilder neu
    Von H-net im Forum Linux als Server
    Antworten: 4
    Letzter Beitrag: 07.06.05, 05:48
  4. Bilder in cgi-bin Verzeichnis anzeigen
    Von ~Gh05t~ im Forum Linux als Server
    Antworten: 2
    Letzter Beitrag: 25.05.05, 07:33
  5. Bilder von Kamera löschen?
    Von Danzas_Telelog im Forum stationäre Hardware
    Antworten: 4
    Letzter Beitrag: 04.07.04, 12:30

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •