refactor(book_service): 重构书籍服务以使用Pathlib路径处理
- 移除os模块导入,改用pathlib.Path进行路径操作 - 添加find_project_root工具函数用于查找项目根目录 - 将文件夹创建方法重构为使用Path对象的create_folder函数 - 更新下载路径构建方式,使用pathlib路径拼接替代os.path.join - 优化download_file方法,改进异常处理和内容类型检查逻辑 - 修改get_post_date方法为静态方法,提升代码结构清晰度
This commit is contained in:
@@ -2,6 +2,7 @@ import json
|
||||
import time
|
||||
import ctypes
|
||||
from collections import defaultdict
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
from datetime import datetime
|
||||
from functools import cmp_to_key
|
||||
@@ -103,4 +104,11 @@ def to_json_serializable(obj):
|
||||
if isinstance(obj, set):
|
||||
return list(obj) # 集合转列表
|
||||
# 其他基本类型(str, int, float, list, tuple, None)直接返回
|
||||
return obj
|
||||
return obj
|
||||
|
||||
def find_project_root(marker_files=('requirements.txt', 'run.py')):
|
||||
current = Path(__file__).resolve().parent
|
||||
for parent in current.parents:
|
||||
if any((parent / marker).exists() for marker in marker_files):
|
||||
return parent
|
||||
return current # 没找到则返回当前文件所在目录
|
||||
Reference in New Issue
Block a user