[Python] Kopierskript zum Generieren eines Kopierprotokolls

Die GUI-Version ist fertig. inon3135/CopyWithLog

Ich möchte das Kopierziel und die Kopierquelle auflisten!

Bei der Visualisierung von Daten in Postern und Papieren wird die Bilddatei eingefügt Ich möchte es zusammen mit der Dokumentdatei aufbewahren. Aber beim Betrachten der Datei ist ** "Welches sind diese Daten?" ** grobkörnig. Wenn Sie also eine Datei kopieren, werden die Kopierquelle und das Kopierziel in jedem Ordner als Protokolldateien generiert. Ich habe ein Kopierskript geschrieben.

Von hier https://codebreak.com/git/nozomu/CopyWithLog-python/tree/master/

Wie benutzt man

copy.py


Usage:
    copy.py [--symbol] -s <source> -o <mirror>
    copy.py [--symbol] -o <mirror> -s <source>
    copy.py -h | --help
    copy.py --version

Options:
    -h -help    Show this screen.
    -version    Show version.
    --symbol    Make mirror file as symboli link file.
    -s          Set source file
    -o          Set mirrored file (or directory)
    $ copy.py --symbol -s a.png -o $POSTER/fig1.png

Sie müssen das Verzeichnis mit copy.py zu $ PATH hinzufügen oder den Pfad schreiben.

Kopieren Sie a.png nach $ POSTER / fig1.png und generieren (oder fügen) Sie jeweils eine Protokolldatei hinzu. Mit der Option --symbol wird die Kopierdatei als symbolischer Link generiert.

~, Umgebungsvariablen (\ $ name, \ $ {name}) sind verfügbar. Wenn der Dateiname nicht in \ <Spiegel > (Kopierziel) angegeben ist und der Verzeichnispfad verwendet wird, Eine Datei mit dem gleichen Namen wie \ wird generiert [^ 2].

[^ 2]: Wenn Sie einen Verzeichnispfad angeben, muss dieser am Ende mit einem '/' geschlossen werden.

Protokolldateiformat = Markdown [^ 1]

logfile: mirror-log.md logfile: source-log.md

[source-log.md]: maked on mirror directory

  File name | source-path | copied date
     ---    |     ---     |     ---
 filename |   path    |   date

[mirror-log.md]: maked on source directory

  File name | mirror-file-path | copied date
     ---    |       ---        |     ---
 filename |      path      |   date

Generieren Sie die Dateien mirror-log.md und source-log.md für die Kopierquelle bzw. das Kopierziel. Wenn mehrere Kopien vorhanden sind, wird das Protokoll hinzugefügt. Die Protokolle sind grundsätzlich nach dem Dateinamen abc sortiert (ohne Berücksichtigung der Groß- und Kleinschreibung).

Grundsätzlich wird die Kopie ohne Vorwarnung überschrieben. Auch wenn dieselbe Kopierquelle und dasselbe Kopierziel mehrmals verarbeitet werden, bleibt der gesamte Verlauf im Protokoll. (Es werden keine Dateiaktualisierungen erkannt.)

[^ 1]: Wenn der Verzeichnispfad ein Markdown-Symbol enthält, sieht es schlecht aus, sodass ich es möglicherweise ändern kann.


Funktion, die erweitert werden kann

Möglicherweise benötigen Sie die Fähigkeit, Protokolldateien zu verwalten. Derzeit, auch wenn es eine Protokolldatei gibt, die aufgrund des Verlusts der Datei bedeutungslos ist Es kann nur manuell gelöscht werden. Das könnte etwas lästig sein.

Guter Grund

Die Quelle ist schrecklich, weil ich sie richtig geschrieben habe.

Recommended Posts

[Python] Kopierskript zum Generieren eines Kopierprotokolls
Python-Protokoll ausgeben
TRACE-Protokollebene zu Python hinzufügen ...?
[Good By Excel] Python-Skript zum Generieren von SQL zum Konvertieren von CSV in Tabelle
Skript zum Generieren eines Verzeichnisses aus einer JSON-Datei
Pin aktuelles Verzeichnis an Skriptverzeichnis in Python
Beispielskript zum Überfüllen von Signalen in Python
Python-Protokoll mit GAE an die Konsole ausgeben
Melden Sie sich mit Anforderungen in Python bei Slack an
Modul zum Generieren des Wortes N-Gramm in Python
So führen Sie Maya Python-Skripte aus
Skript-Python-Datei
Auf Python 2.7.9 aktualisiert
Python-Skript-Skelett
Python-Skript-Profilerstellung
Importieren Sie ein Python-Skript
Kopie von Python
Protokollüberwachungsskript
"Backport" zu Python 2
[Einführung in die Udemy Python3 + -Anwendung] 26. Kopie des Wörterbuchs
Zusammenfassung des Bibliotheksvergleichs zum Generieren von PDF mit Python
Python-Skript zum Konvertieren von Breiten- und Längengrad in Mesh-Code
[Einführung in die Udemy Python3 + -Anwendung] 19. Kopie der Liste
So generieren Sie ein Python-Objekt aus JSON
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
Melden Sie sich mit Selenium Python bei Yahoo Business an
[Verbesserte Version] Skript zur Überwachung der CPU mit Python
[CentOS8] So geben Sie die Standard-Python-Ausgabe in das Systemd-Protokoll aus
Python-Skript zum Abrufen von Notizinformationen mit REAPER
So fügen Sie HDA Hilfe hinzu (mit Python-Skriptbonus)
Ich möchte schnell UUID generieren (Gedenknotiz) ~ Python Edition ~
Änderungen von Python 3.0 zu Python 3.5
Kopie der Python-Einstellungen
So installieren Sie Python
Einführung in die Python-Sprache
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
Einführung in OpenCV (Python) - (2)
Vorbereiten der Steuerung von Nashornobjekten mit Skripten in Grasshopper / Python
DynamoDB Script Memo (Python)
Beachten Sie, dass Python ein Daemon ist
Einführung von Python 2.7 in CentOS 6.6
Kopieren Sie S3-Dateien mit GSUtil von Python nach GCS
Verbinden Sie Python mit MySQL
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Generieren Sie ein Bash-Skript, um die Einstellungen des Datadog-Monitors hinzuzufügen
Ein Skript, das bis zu 5 Sekunden zählt und in Blenders Python stoppt
Dem Schlüssel F12 wurde ein Gerüstmakro in einer Python-Skriptdatei zugewiesen
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
So führen Sie ein Python-Programm in einem Shell-Skript aus
[Linux] Kopieren Sie Daten mit einem Shell-Skript von Linux nach Windows
Herausforderung Problem 5 mit Python: Lambda ... Ich habe mich entschieden, ohne zu kopieren
[Für Anfänger] Skript innerhalb von 10 Zeilen (4. Verbindung von Python zu sqlite3)
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
[GCP] Ausgeben von Cloud-Funktionsprotokollen an Cloud Logging (Stackdriver Logging) (Python)
Ein Python-Skript, das Oracle-Datenbankdaten in CSV konvertiert