Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Вывод модуля time на кириллице

#python #python_3x


Есть модуль, который выводит дату модификации файла и записывает его в файл.
Хоть и определена локаль, вывода на кириллице нету

import os.path, time, locale


locale.setlocale(locale.LC_ALL, 'Russian_Russia.1251')

file = '\path\my_file.txt'
file_date_mod = time.ctime(os.path.getmtime(file))


f = open('last_date.txt', 'w')
for i in file_date_mod:
    f.write(i)

print(file_date_mod)

    


Ответы

Ответ 1



Документация: Locale information is not used by ctime(). Перевод: ctime() не использует информацию о локали. Можно поступить следующим образом: format = "%a, %d %b %Y %H:%M:%S" # строка для нужного форматирования print (strftime(format, time.localtime(os.path.getmtime(file)))) Справка по strftime().

Ответ 2



Как правильно заметили time.ctime() не обращает внимание на locale. Вот еще один способ: import os.path, time, locale from datetime import datetime locale.setlocale(locale.LC_ALL, 'Russian_Russia.1251') file = 'sample.txt' file_date_mod = datetime.fromtimestamp(os.path.getmtime(file)).strftime("%a, %d %b, %H:%M:%S") f = open('last_date.txt', 'w') for i in file_date_mod: f.write(i) print(file_date_mod) output: Вт, 06 ноя, 12:38:05

Комментариев нет:

Отправить комментарий