как создать имя файла с текущей датой и временем в python?
вот рабочий код (создать файл с успехом)
sys.stdout = open('filename1.xml', 'w')
Теперь я пытаюсь назвать файл с текущим временем даты (я не эксперт в python)
filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")
sys.stdout = open(filename1 + '.xml', 'w')
Я хочу записать имя файла с точной датой и временем, это xml-файл, который программа уже создала, мне просто нужно назвать файл. Приведенный выше код не работает.
[отредактировано] - возвращена ошибка
File "./fix.py", line 226, in <module>
filenames = datetime.now().strftime("%Y%m%d-%H%M%S")
AttributeError: 'module' object has no attribute 'now'
4 ответов:
В то время как не используя
datetime, это решает вашу проблему (отвечает на ваш вопрос) получения строки с текущим временем и форматом даты вы указываете:import time timestr = time.strftime("%Y%m%d-%H%M%S") print timestrвыходы:
20120515-155045таким образом, ваше имя файла может добавить или использовать эту строку.
nowэто метод класса в классеdatetimeв модулеdatetime. Так что вам нужноdatetime.datetime.now()или вы можете использовать другой импорт
from datetime import datetimeсделано таким образом, позволяет использовать
datetime.nowсогласно коду в вопросе.
измените эту строку
filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")до
filename1 = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")обратите внимание на дополнительные
datetime. Кроме того, измените свойimport datetimeдоfrom datetime import datetime
Я удивлен, что нет ни одного форматера, который возвращает значение по умолчанию (и безопасный) 'для добавления в filename' - формат времени, Мы могли бы просто написать
FD.write('mybackup'+time.strftime('%(formatter here)') + 'ext'"%x" instead of "%Y%m%d-%H%M%S"
Comments