save a version

This commit is contained in:
2026-03-31 16:46:22 +08:00
parent e3efa5dbc1
commit 6816406e72

View File

@@ -49,7 +49,21 @@ def extract_all_zips(
extract_dir.mkdir(parents=True, exist_ok=True)
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
zip_ref.extractall(extract_dir)
# 解压所有文件并保留原始时间戳
for member in zip_ref.infolist():
# 解压文件
zip_ref.extract(member, extract_dir)
# 获取解压后的文件路径
member_path = extract_dir / member.filename
# 如果文件存在,设置时间戳
if member_path.exists():
# 将 ZipInfo 的日期时间转换为时间戳
date_time = datetime(*member.date_time[:5])
timestamp = date_time.timestamp()
# 设置访问时间和修改时间
os.utime(member_path, (timestamp, timestamp))
print(f"✓ 已解压:{zip_file.name}")
results.append(extract_dir)
@@ -202,10 +216,14 @@ def get_files_with_times(folder: Path) -> List[Tuple[Path, datetime]]:
files = []
for f in folder.iterdir():
if f.is_file():
ctime = datetime.fromtimestamp(f.stat().st_ctime)
stat_info = f.stat()
# macOS 使用 st_birthtime 作为创建时间,其他系统使用 st_ctime
try:
ctime = datetime.fromtimestamp(stat_info.st_birthtime)
except AttributeError:
ctime = datetime.fromtimestamp(stat_info.st_ctime)
files.append((f, ctime))
files.sort(key=lambda x: x[1])
print(files)
return files
@@ -219,11 +237,10 @@ def build_file_associations(
twole_files = get_files_with_times(twole_folder)
zxxk_files = get_files_with_times(zxxk_folder)
print("******************",twole_files[0],"******************")
for i, content in enumerate(word_content):
# 按 \t 分割成段
parts = content.split('\t')
if len(parts) < 6:
continue