Ein Python-Skript, das auf dem Mac erstellte ._DS_Store- und ._ * -Dateien löscht

verwenden

Wenn Sie eine tragbare Festplatte oder einen USB-Speicher an einen Mac anschließen und dann an Windows oder Linux anschließen, Beachten Sie, dass eine große Anzahl von .DS_Store- und metadateiähnlichen ._ [vorhandenen Dateinamen] vorhandener Dateien erstellt wird. Diese Dateien sind kleiner als die Sektorgröße des Dateisystems, sodass Tausende von Dateien einige GB verschwenden können. Genau das war es.

Unter Linux können Sie es anscheinend mit `find. -Name" ._ * "-exec rm -f {} \;` usw. löschen. Selbst wenn ich versuche, mit dem Windows Explorer nach ._ * zu suchen und es zu löschen, ist das Löschen sehr schwierig, da normale Dateien und Verzeichnisse, die nicht ._ * sind, abgefangen werden.

Also habe ich ein einfaches Skript mit Python für diejenigen erstellt, die in Schwierigkeiten sind und für mich. Da keine strengen Dateiprüfungen durchgeführt werden, besteht außerdem die Möglichkeit, dass Dateien, die nicht gelöscht werden sollen, gelöscht werden. Verwenden Sie dieses Skript daher auf eigenes Risiko.

import os
import sys
import shutil

def deldirs(baseDir):
  print "Start " + baseDir
  ds = [baseDir]
  while True:
    if len(ds) == 0:
      print "Finished!!"
      break
    # Pop next target dir
    d = ds.pop(0)
    # Delete file
    fs = os.listdir(d)
    for fn in fs:
      fp = d + "/" +fn
      if fn[:2] == "._" or fn == ".DS_Store":
        if os.path.isfile(fp):
          print "Del File " + fp
          os.remove(fp)
      #elif os.path.isdir(fp):
      #    print "Del Dir " + fp
      #    shutil.rmtree(fp)

if __name__ == "__main__":
  if len(sys.argv) != 2:
    print "Usage: delmacfile.py TARGET_DIR"
    exit(1)
  baseDir = sys.argv[1]
  if os.path.isdir(baseDir) == False:
    print "Please arg1 is a TAGET_DIR"
    exit(2)
  deldirs(baseDir)

Es scheint eine Möglichkeit zu geben, dies mit Windows-Befehlen zu tun, aber es ist für Python-Liebhaber.

Recommended Posts

Ein Python-Skript, das auf dem Mac erstellte ._DS_Store- und ._ * -Dateien löscht
Ein Python-Skript für Mac, das unter Windows ohne verstümmelte Zeichen komprimiert wird
[Python] Ich habe ein Skript erstellt, das Dateien auf dem lokalen PC automatisch ausschneidet und auf eine externe SSD einfügt.
Eine Python-Client-App, die Dateien aus S3 herunterlädt und löscht, indem ein Bucket angegeben wird
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen
Erstellen einer Python-Umgebung auf einem Mac
Erstellen Sie eine Python-Umgebung auf dem Mac (2017/4)
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Erstellen Sie eine Python-Umgebung auf Ihrem Mac
Ein Memo mit Python2.7 und Python3 in CentOS
Hinweise zum Erstellen von Python und Pyenv auf dem Mac
Erstellen Sie eine Python3-Umgebung mit pyenv auf einem Mac und zeigen Sie NetworkX-Diagramme an
Python auf Mac
Ein netter Nimporter, der Nim und Python verbindet
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
"Python Kit", das Python-Skripte von Swift aufruft
Versuchen Sie, MLB-Daten auf Mac und Python zu importieren
[Python, PyPDF2] Ein Skript, das ein verbreitetes PDF in zwei links und rechts unterteilt
Python-Skript, das SQL-Dateien liest, BigQuery ausführt und CSV speichert
Python-Skript, das das Azure-Status-RSS crawlt und an Hipchat sendet
Installieren Sie Python3 auf einem Mac und erstellen Sie eine Umgebung [Definitive Edition]
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Python> Implementierung, die 3 Dateien mit variablen Spalten synthetisiert und 3 Elemente in jeder Zeile ausgibt
Ein Skript, das Ihre bevorzugten Python-Module und Binärdateien in einer einzigen Lambda-Ebene kombiniert
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Erstellt eine Python-Bibliothek DateTimeRange, die Zeitbereiche verarbeitet
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
Installieren von Python 3 auf einem Mac und Überprüfen der Grundfunktionen Teil 1
[Python] Ein Notizbuch, das die ipynb-Datei von GitHub ins Japanische übersetzt und herunterlädt.
Problem, dass die Zertifikatsüberprüfung auf Mac Python Pip fehlgeschlagen ist
Installieren Sie Python 3.4 auf einem Mac
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung
Ein Python-Skript, das die Start- / Endzeit des Mac für die Anwesenheitsverwaltung verwenden möchte
"Stoppen Sie das Festschreiben japanischer Dateien für Git auf Mac> <" Vorerst habe ich ein Skript geschrieben, um nach inkompatiblen japanischen Dateien unter Mac und Linux zu suchen.
Shell-Skript, das beim Erstellen von Dateien doppelte Namen nummeriert
Erstellen Sie eine Python-Entwicklungsumgebung (pyenv / virtualenv) auf einem Mac (Homebrew).
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
[Python] Erstellen Sie einen Linebot, der ein beliebiges Datum auf ein Foto zeichnet
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Erstellen eines Python-Skripts, das die e-Stat-API unterstützt (Version 2)
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
Ich habe eine Klasse in Python erstellt und versucht, Enten zu tippen
Erstellen Sie die Python-Erweiterung E-Cell 4 unter Mac OS X (Yosemite).
Erstellen Sie ein Python-Skript für Wake on LAN (Wake on LAN über NAT [5])
So schreiben Sie eine Meta-Klasse, die sowohl Python2 als auch Python3 unterstützt
Erstellen einer virtuellen Umgebung für Python auf dem Mac [Sehr einfach]
Ein Python-Skript, das Oracle-Datenbankdaten in CSV konvertiert
Python-Skript, das den Inhalt zweier Verzeichnisse vergleicht
Python auf Ruby und wütend Ruby auf Python
Installieren Sie pygame auf python3.4 auf dem Mac
Umgang mit Python auf Mac
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]
Hinweise zur Installation von Python auf Ihrem Mac
Catalina auf Mac und Pyenv
[Python] Zeichnen Sie mit Plotly Höhendaten auf eine sphärische Oberfläche und zeichnen Sie einen Globus, der rund und rund gedreht werden kann
Wie man Python 3.x und 2.x auf einem Mac koexistiert (ich habe auch opencv als Bonus hinzugefügt)