#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
Комментариев нет:
Отправить комментарий