fix(heartFC_Cycleinfo): 修复目录创建时特殊字符处理问题
移除目录创建时的异常处理逻辑,改为在创建前过滤特殊字符。仅保留字母、数字、下划线、中划线和中文字符,确保目录路径安全。简化了错误处理流程,直接使用os.makedirs的exist_ok参数避免竞态条件。
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user