"""
工具函数模块
提供核心功能需要的辅助函数。
"""
import os
import mimetypes
from typing import Tuple
def get_file_info(file_path: str) -> Tuple[str, int, str]:
"""
获取文件基本信息
Args:
file_path: 文件路径
Returns:
元组包含 (文件名, 文件大小, MIME类型)
Raises:
FileNotFoundError: 文件不存在
ValueError: 路径不是文件
"""
if not os.path.exists(file_path):
raise FileNotFoundError(f"文件不存在: {file_path}")
if not os.path.isfile(file_path):
raise ValueError(f"路径不是文件: {file_path}")
filename = os.path.basename(file_path)
file_size = os.path.getsize(file_path)
content_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream'
return filename, file_size, content_type
def ensure_directory_exists(dir_path: str) -> None:
"""
确保目录存在,如果不存在则创建
Args:
dir_path: 目录路径
"""
if not os.path.exists(dir_path):
os.makedirs(dir_path, exist_ok=True)