save a version
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user