spidespidespide
@spidespidespide

Что за ошибка модуля Datetime?

Здравствуйте.
Решил немного улучшить программку с помощью модуля datetime, но выдает не понятную мне ошибку:
f05eea2c97824391b312303d35766d77.png
Программа должна записывать данные в файл вместе с датой, когда эти данные были записаны, я думал узнать их с помощью: datetime.year, month, day и т.д. но ничего не выходило.
Вот код:
import os
import datetime

data = input('Введите данные:\n')
file = input('Введите имя файла в который будут помещены данные: \n')
expans = input('Введите расширение файла: \n')
inp = input('Вы хотите создать папку или выбрать из уже существующих?: \n')
directory = input('Куда вы хотите сохранить файл?: \n')

li = [data]#Помещаем введённые данные в список.
date_li = [datetime.day, datetime.month, datetime.year]

if inp == 'Создать' or inp == 'создать':
	#Создаём папку.
	direc = os.mkdir(directory)

	#Открываем файл с именем и расширением, которые ввели выше.
	f = open(os.path.join(directory, file + '.' + expans), 'a')
	#Записываем данные в файл.
	f.write("Дата: {0} {1} {2}".format(date_li[0], date_li[1], date_li[0]))
	f.write("\nВведённые данные:\n{}\n".format(li[0]))
	#Закрываем файл.
	f.close()
elif inp == 'Выбрать' or inp == 'выбрать':
	#Меняем текущую директорию.
	direch = os.chdir(directory)

	#Открываем файл с именем и расширением, которые ввели выше.
	f = open(os.path.join(file + '.' + expans), 'a')
	#Записываем данные в файл.
	f.write("\nВведённые данные:\n{}\n".format(li[0]))
	#Закрываем файл.
	f.close()

Большое спасибо.
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
@fireSparrow
Модуль datetime сам по себе не содержит свойства day.

Он содержит класс, который также называется datetime и к которому, соответственно, нужно обращаться datetime.datetime.
Он, в свою очередь, содержит функцию now(), которая возвращает временной идентификатор настоящего момента. И вот он уже имеет свойство day.

Соответственно, вам нужно делать так:
datetime.datetime.now().day

То же самое для month и year.
Ну или можно сделать так:
now = datetime.datetime.now()
date_li = [now.day, now.month, now.year]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@deliro
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы