Es ist subtil, ob es so effizient ist wie es ist, aber ich habe es zwischen den Arbeiten versucht.
Einige Dateien werden lokal vom Dateiserver kopiert. Erstellen Sie auch ein Verzeichnis.
Mir wird eine sehr neue tägliche Aufgabe zugewiesen, die Aufgabenliste für diesen Tag auszudrucken und an die verantwortliche Person zu verteilen. Sie müssen darauf vorbereitet sein, lokal ein Verzeichnis zu erstellen und die Dateien vom Dateiserver darauf zu kopieren. Ich dachte, wenn ich einen kleinen Code schreiben würde, wäre er mit nur einem Klick fertig, also habe ich es versucht.
Erstellen Sie ein Verzeichnis zum lokalen Speichern der Dateien für diesen Tag gemäß der Regel yyyymmdd. Kopieren Sie anschließend die Aufgabenlistendatei vom Dateiserver.
Ermitteln Sie zuerst die Uhrzeit, zu der das Skript ausgeführt wird, und ermitteln Sie dann das Datum als darauf basierende Zeichenfolge.
os.mkdir(path)Erstellen Sie ein Verzeichnis mit. Dies ist das Ende der ersten Stufe.
Als nächstes rufen Sie die Dateiliste des Verzeichnisses mit der Aufgabenliste des Dateiservers mit `` `os.listdir (path)` `` ab.
Da der zu kopierende Dateiname am Anfang eine gemeinsame Zeichenfolge [hoge] hat, können Sie mit `` `str.startswith (Präfix)` `` nach der entsprechenden Datei suchen.
Da es sich bei der Dateiliste um eine Liste handelt, sucht sie nacheinander in einer Schleife nach Dateien. Sobald sie gefunden wurde, wird sie mit `` `shutil.copy (src, dst)` `` in das vom Dateiserver erstellte Verzeichnis kopiert.
Damit ist die Vorbereitung auf die tägliche Arbeit abgeschlossen. Alles was Sie tun müssen, ist es auszudrucken.
#encode:utf-8
import os import shutil from datetime import datetime
if name == "main":
#Holen Sie sich die aktuelle Zeit
today = datetime.now().strftime('%Y/%m/%d %H:%M:%S')
y = datetime.now().strftime('%Y')
m = datetime.now().strftime('%m')
d = datetime.now().strftime('%d')
#Ordnernamen(yyyymmdd)
dirname = y + m + d
#Ordner erstellen
os.mkdir(dirname)
#Verzeichnis mit Dateien, die Sie kopieren möchten.
copydir = 'B:/foo/bar/baz/'
#Ruft eine Liste der Dateien ab, die in einem Verzeichnis abgelegt sind
files = os.listdir(copydir)
for n in range(len(files)):
#Kopieren Sie Dateien mit allgemeinen Zeichenfolgen in den Ordner yyyymmdd
if files[n].startswith('【hoge】'):
print(files[n])
shutil.copy(copydir + files[n] , './' + dirname + '/' + files[n])
### [2016.10.01 Nachtrag]
[Korrektur]
Da es eindeutig falsch ist, habe ich es auf `` `encode: utf-8`` → →` `encoding: utf-8``` korrigiert. Vielen Dank für den Hinweis in den Kommentaren.
**【traurige Nachrichten】**
Es wurde gesagt, dass die tägliche Arbeit im Verlauf der Phase abgeschlossen war.
Es ist ein Code, den ich mit viel Mühe geschrieben habe, aber es scheint, dass er für eine Weile nicht ins Spiel kommen wird ('ω')
Da die Funktion jedoch einfach ist, kann sie auch auf andere Anwendungen angewendet werden.
Recommended Posts