2015-08-07 3 views
1

Я видел несколько сообщений вроде этого, но никто на самом деле не ответил на вопрос прямо.Как я могу сгенерировать файл на python с сегодняшней датой?

Im создание файла в Python вроде этого:

f = open('myfile.extension','w')  

Что я должен добавить к этой линии, чтобы добавить дату генерируется файл?

Im используя время импорта и я могу получить любую текущую дату в любой другой части моего сценария, но я не знаю, как добавить дату ...

Спасибо

+1

'f.write (date)' –

+0

Вы знакомы с конкатенацией строк, например. '' myfile.extension '+ my_saved_date_string'? – TigerhawkT3

+0

Я знаком с конкатенацией, но как она будет работать? что-то вроде? f = open ('myfile.extension' + f.write (date), 'w') – Gusbok

ответ

5

Предполагая, что вы пытаетесь добавьте дату в filename

from datetime import datetime 

datestring = datetime.strftime(datetime.now(), '%Y/%m/%d_%H:%M:%S') 
f = open('myfile_'+datestring+'.extension', 'w') 

Вы можете изменить формат, как вам нравится. Выше напечатает datestring так:

datetime.strftime(datetime.now(), '%Y/%m/%d_%H:%M:%S') 
'2015/08/07_16:07:37' 

Конечно, так как это имя файла, вы не можете иметь /, поэтому я рекомендовал бы формат, как в следующем:

datetime.strftime(datetime.now(), '%Y-%m-%d-%H-%M-%S') 
'2015-08-07-16-07-37' 

Вот полный пробег всего вышеперечисленного:

>>> from datetime import datetime 
>>> datestring = datetime.strftime(datetime.now(), '%Y-%m-%d-%H-%M-%S') 
>>> f = open('myfile_' + datestring + '.ext', 'w') 
>>> f.name 

'myfile_2015-08-07-16-24-23.ext' 
+0

Спасибо. Я попробую это – Gusbok

+0

Im получение этой ошибки: IOError: [Errno 22] неверный режим ('w') – Gusbok

+0

проверить разрешения на файл или открыть его в другой программе. Разрешения на запись будут заблокированы, если они в настоящее время редактируются чем-то другим. – csunday95

2

Я предполагаю, что вы хотите в имя файла:

from datetime import date 

filename = 'myfile_{}.extension'.format(date.today()) 

f = open(filename, 'w') 

print f.name # 'myfile_2015-08-07.extension' 
+1

Я предпочитаю этот ответ, потому что он более читабельен и сосредоточен на вопросе, а не на материале datetime. – rocktheartsm4l

+0

позвольте мне попробовать – Gusbok

+0

Im получение этой ошибки: NameError: name 'date' не определен. Я сделал дату импорта. Im using python 2.6 – Gusbok

Смежные вопросы