Seite 1 von 1

Datum in Dateinamen

Verfasst: Montag 14. Februar 2005, 07:50
von diver991
Hallo!

Ich sitze an einem Script, welches folgendes ausfuehren soll.
Es soll von der Command line die Ausgangs und Ziel directory erhalten.
Dann soll es ein File in die Zieldatei kopieren und die aktuelle Zeit und Datum anhaengen.
Zum Beispiel:
Die Datei heist File.txt. Die gespeicherte Datei heisst File_0800022_14022005.txt.
Ich bin soweit:

Code: Alles auswählen

import sys
import shutil
import os
import time
time.strftime('%H%M%S_%d%m%Y')
for arg in sys.argv:
    shutil.move (arg[1],arg[2])
Wie kann ich das Problem loesen?

Edit (Leonidas): Code in Python Tags gesetzt.

Verfasst: Montag 14. Februar 2005, 08:04
von jens
Mit os.path.splitext() kannst du den Dateinamen auseinander nehmen lassen, und die Datumsangabe hinzufügen...

Verfasst: Montag 14. Februar 2005, 08:18
von diver991
Danke.
Der Code zum Zusammenfuegen sieht dann so aus?

Code: Alles auswählen

os.path.join(arg[2]_time.strftime('%H%M%S_%d%m%Y'))
Richtig???

Edit (Leonidas): Hier zwar weniger wichtig, aber trotzdem besser hervorgehoben.

Verfasst: Montag 14. Februar 2005, 08:26
von jens
Nein, so:

Code: Alles auswählen

Name, Endung = os.path.splitext( arg[2] )
ZielDatei = Name + "_" + time.strftime('%H%M%S_%d%m%Y') + Endung

Verfasst: Montag 14. Februar 2005, 08:31
von diver991
Danke fuer die schnelle Hilfe.
Warum kann ich nicht path.join nehmen.
Sorry fuer dumme Fragen, bin beim Learning by doing :oops:

Verfasst: Montag 14. Februar 2005, 08:33
von jens
Natürlich kannst du das auch:

Code: Alles auswählen

ZielDatei = os.path.join( Name + "_" + time.strftime('%H%M%S_%d%m%Y'), Endung)
Halte ich aber für überflüssig, da die Teilstrings ja schon genau zusammen passen... os.path.join() macht sind, wenn man Verz. und Dateinamen zusammen kleben will und nicht genau weiß, ob Slash / Backshash vorhanden ist...

Verfasst: Montag 14. Februar 2005, 08:35
von diver991
Ah ok. Waere also zuviel des Guten.
Dankeschoen!