#python #python-3.x #logging #python-logging
Вопрос:
Я хотел использовать logging
модуль. Вот мой код:
from datatime import datatime
import logging
output_dir = fr'./{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}.log' # fr"" is f"" r""
logging.basicConfig(filename=output_dir, level=logging.DEBUG)
logger = logging.getLogger()
Но когда я его запущу, эта ошибка вызовет:
Traceback (most recent call last):
File "C:UsersPaliProxDesktopProjectsmain.py", line 5, in <module>
logging.basicConfig(filename=output_dir, level=logging.DEBUG)
File "C:UsersPaliProxAppDataLocalProgramsPythonPython39liblogging__init__.py", line 2003, in basicConfig
h = FileHandler(filename, mode,
File "C:UsersPaliProxAppDataLocalProgramsPythonPython39liblogging__init__.py", line 1146, in __init__
StreamHandler.__init__(self, self._open())
File "C:UsersPaliProxAppDataLocalProgramsPythonPython39liblogging__init__.py", line 1175, in _open
return open(self.baseFilename, self.mode, encoding=self.encoding,
OSError: [Errno 22] Invalid argument: 'C:\Users\PaliProx\Desktop\Project\2021-09-09 18:28:27.log'
В чем проблема с моим кодом, которая вызывает эту ошибку?
Ответ №1:
В именах файлов Windows не могут быть двоеточия. Попробуйте это вместо этого:
output_dir = fr'./{datetime.now().strftime("%Y-%m-%d %H%M%S")}.log'