как создать имя файла с текущей датой и временем в 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'
711   4  

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

    Ничего не найдено.