Я пытаюсь перенести программу python 3.6 из Ubuntu 18 в Windows 10. В этом файле я создаю длинную строку с объектом даты и времени и использую ее в качестве имени файла. Команда open () прекрасно работает в Ubuntu и создает длинную строку, заканчивающуюся на «.txt». Однако Windows 10 этого не устраивает и усекает имя файла до 32 бит (я не уверен, намеренно ли это или совпадение). Код такой же, но операционные системы работают иначе. Вот код:
# Capture the date time object format to write to log file
datetime_object = datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")
print(datetime_object)
Error_file_name = "ESP32_Company_Error_log_" + datetime_object + ".txt"
print(Error_file_name)
Info_file_name = "ESP32_Company_Information_log_" + datetime_object + ".txt"
#Open the files to write
err_fl = open(Error_file_name, "a")
#print(type(err_fl))
info_fl = open(Info_file_name, "a")
Windows создаст общий файл
ESP32_Company_Information_log_11
Это не файл .txt и поэтому не открывать его позже. Ubuntu создает
"ESP32_Company_Information_log_11: 15:00 14 мая 2019.txt"
Я пытался импортировать ОС, не работает. Я посмотрел на тип и не могу понять, почему текстовая оболочка ввода-вывода будет иметь это.