почему Windows усекает имя файла, который я создаю с помощью open () в python 3.6? - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь перенести программу 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"

Я пытался импортировать ОС, не работает. Я посмотрел на тип и не могу понять, почему текстовая оболочка ввода-вывода будет иметь это.

1 Ответ

0 голосов
/ 14 мая 2019

Похоже, что формат даты и времени имеет значение rAndom69 Вы правы.Изменение формата устранило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...