2016-08-25 9 views
0

毎日生成され、 "year-month-date.txt"という形式で名前が付けられたテキストファイルがあります(例:2016-08-25.txt )。今日の日付のテキストファイルをPythonで自動的に呼び出す方法

今、私はpythonでテキストファイルを開き、そこからいくつかのデータを読みたいと思います。しかし、毎回コード内のテキストファイルの名前を手動で変更することなく(テキストファイルの名前が毎日変更されることを覚えておかないと)これをしたいと思います。あなたはtodays_dateから正しい形式で文字列を抽出する必要があります

#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) 

答えて

5

は、これまでのところ私は持っている(6行目では、修正が必要一部です)。そのため

使用strftimedocsを参照してください):

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

全例:ファイル名は文字列でなければなりません

import datetime 

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

、あなたは今、今日の日付のattribut .txtがアクセスしようとしています...

で置き換えます。

todays_date=datetime.date.today() 

filename = str(todays_date)+'.txt' 

また、todays_dateがtxtファイルの名前と正確に一致することを確認してください。日、月、年をシャッフルする必要があります。上記のファイルが実際に '2016-08-25.txt'のようなものである場合のみ動作します

+0

これは期待どおりに動作しません。 'str(datetime.now())'は文字列を "間違った"形式で返します。 – DeepSpace

+0

申し訳ありませんが、これをテストすると、ポスターが求める正確な形式が返されます。また、オリジナルのコードは次のものを参照しています:datetime.date.today()not datetime.now() – BartDur

+0

あなたが正しいです、私はOPが 'datetime.date.today()'ではなく 'datetime.now() '。 – DeepSpace

関連する問題