1.运行环境:
操作系统:Windows
Python版本:Python 3.9
Pycharm:2021.1.3
2.问题现象:
在封装日志时,其中有一步需要往日志文件里写入日志,执行后,一直报错,“OSError: [Errno 22] Invalid argument: 'D:\\xxx\\pythonProject\\pytestProject\\logs\\2023-01-10_16:49:34.log' ”如下图所示:
3.问题原因
有说生成日志的文件引用路径太长了,但实际在不同服务器上跑项目,总会遇到这个问题
还有修改Windows注册表的值修改为1,修改后,重启也没能解决我的问题
后来测试,随便写了个文件名称,运行成功了,才发现是因为 Windows文件命名不能使用特殊符号,如下图所示,这些特殊符号都不能在命名时使用,所以在生成文件名称的时候,都注意下,文件名称中不要使用这些特殊符号: \ / : * ? " < > |
【解决办法】
将格式化字符串中时间格式的冒号“:”改为下划线“_”
即,将 '%Y-%m-%d_%H:%M:%S' 改为 '%Y-%m-%d_%H_%M_%S',日志文件生成成功了!