mirror of https://github.com/Mai-with-u/MaiBot.git
fix(heartFC_Cycleinfo): 修复目录创建时特殊字符处理问题
移除目录创建时的异常处理逻辑,改为在创建前过滤特殊字符。仅保留字母、数字、下划线、中划线和中文字符,确保目录路径安全。简化了错误处理流程,直接使用os.makedirs的exist_ok参数避免竞态条件。pull/1011/head
parent
6d59e97130
commit
25b010c004
|
|
@ -97,13 +97,12 @@ class CycleDetail:
|
||||||
"""将循环信息写入文件"""
|
"""将循环信息写入文件"""
|
||||||
# 如果目录不存在,则创建目录
|
# 如果目录不存在,则创建目录
|
||||||
dir_name = os.path.dirname(file_path)
|
dir_name = os.path.dirname(file_path)
|
||||||
|
# 去除特殊字符,保留字母、数字、下划线、中划线和中文
|
||||||
|
dir_name = "".join(
|
||||||
|
char for char in dir_name if char.isalnum() or char in ["_", "-", "/"] or "\u4e00" <= char <= "\u9fff"
|
||||||
|
)
|
||||||
if dir_name and not os.path.exists(dir_name):
|
if dir_name and not os.path.exists(dir_name):
|
||||||
try:
|
os.makedirs(dir_name, exist_ok=True)
|
||||||
os.makedirs(dir_name, exist_ok=True)
|
|
||||||
except Exception as e:
|
|
||||||
print(f"创建目录 {dir_name} 失败: {e}")
|
|
||||||
print(f"日志将会写入到temp目录下")
|
|
||||||
file_path = os.path.join("temp", os.path.basename(file_path))
|
|
||||||
# 写入文件
|
# 写入文件
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue