Ich möchte einen Datetime-Wert in mein Python-Skript in der Befehlszeile übergeben. Meine erste Idee war, optparse zu verwenden und den Wert als String zu übergeben. Verwenden Sie dann datetime.strptime, um ihn in datetime zu konvertieren. Das funktioniert auf meinem Rechner (Python 2.6), aber ich muss dieses Skript auch auf Rechnern ausführen, auf denen python 2.4 läuft, das datetime.strptime nicht hat.datetime Befehlszeilenargument in Python 2.4
Wie kann ich den Datetime-Wert an das Skript in Python 2.4 übergeben?
Hier ist der Code, den ich in 2.6 bin mit:
parser = optparse.OptionParser()
parser.add_option("-m", "--max_timestamp", dest="max_timestamp",
help="only aggregate items older than MAX_TIMESTAMP",
metavar="MAX_TIMESTAMP(YYYY-MM-DD HH24:MM)")
options,args = parser.parse_args()
if options.max_timestamp:
# Try parsing the date argument
try:
max_timestamp = datetime.datetime.strptime(options.max_timestamp, "%Y-%m-%d %H:%M")
except:
print "Error parsing date input:",sys.exc_info()
sys.exit(1)
Das ist perfekt. Ich hatte time.strptime bemerkt, aber ich bin neu bei Python und wusste nicht, wie einfach es ist, die Zeit mit Slice-Notation in ein Datetime zu konvertieren. Danke! –
@Ike, du bist willkommen! –
In der Zwischenzeit wurde die Python-Bibliothek aktualisiert, sodass Sie keine Zeit mehr benötigen. Jetzt benutze einfach: datetime.datetime.strptime() –