2016-08-25 2 views
0

Ich habe eine Textdatei, die täglich generiert wird und im folgenden Format heißt: "Jahr-Monat-Datum.txt" (zB 2016-08-25.txt).So rufen Sie automatisch eine Textdatei mit dem heutigen Datum in Python

Jetzt möchte ich die Textdatei mit Python öffnen und einige Daten daraus lesen. Aber ich möchte dies tun, ohne den Namen der Textdatei im Code jedes Mal manuell zu ändern (denken Sie daran, dass der Name der Textdatei jeden Tag geändert wird).

Bisher habe ich (Linie 6 ist der Teil, muss repariert werden):

#1 Get today's date 
import datetime 
todays_date=datetime.date.today() 
print(todays_date) 
#2 Import info from a text file that is named as today's date 
filename=todays_date.txt 
fin=open(filename,'r') 
Line1list=fin.readline() 
print(Line1list) 

Antwort

5

Sie eine Zeichenfolge in das richtige Format aus todays_date entpacken.

Verwenden strftime dafür (siehe docs):

filename = todays_date.strftime('%Y-%m-%d') + '.txt' 

Voll Beispiel:

import datetime 

todays_date = datetime.date.today() 
filename = todays_date.strftime('%Y-%m-%d') + '.txt' 
print(filename) 
>> 2016-08-25.txt 
3

Dateiname eine Zeichenfolge sein, sollten Sie jetzt die Ausprägungs .txt des heutigen Tages zu versuchen, ...

ersetzen durch:

todays_date=datetime.date.today() 

filename = str(todays_date)+'.txt' 

Stellen Sie außerdem sicher, dass todays_date exakt mit dem Namen der TXT-Datei übereinstimmt. Eventuell müssen Sie die Tage, Monate und Jahre mischen. Das obige funktioniert nur, wenn die Datei in der Tat so etwas wie '2016-08-25.txt'

+0

Das wird nicht wie erwartet funktionieren. 'str (datetime.now())' gibt eine Zeichenkette im "falschen" Format zurück. – DeepSpace

+0

Entschuldigung, aber wenn ich das teste, gibt es das exakte Format zurück, nach dem das Poster fragt. auch der ursprüngliche Code bezieht sich auf: datetime.date.today() not datetime.now() – BartDur

+0

Sie haben Recht, ich habe die Tatsache übersehen, dass OP 'datetime.date.today()' anstatt 'datetime.now() verwendet '. – DeepSpace

Verwandte Themen