save a version
This commit is contained in:
@@ -49,7 +49,21 @@ def extract_all_zips(
|
|||||||
extract_dir.mkdir(parents=True, exist_ok=True)
|
extract_dir.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
with zipfile.ZipFile(zip_file, 'r') as zip_ref:
|
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}")
|
print(f"✓ 已解压:{zip_file.name}")
|
||||||
results.append(extract_dir)
|
results.append(extract_dir)
|
||||||
@@ -202,10 +216,14 @@ def get_files_with_times(folder: Path) -> List[Tuple[Path, datetime]]:
|
|||||||
files = []
|
files = []
|
||||||
for f in folder.iterdir():
|
for f in folder.iterdir():
|
||||||
if f.is_file():
|
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.append((f, ctime))
|
||||||
files.sort(key=lambda x: x[1])
|
files.sort(key=lambda x: x[1])
|
||||||
print(files)
|
|
||||||
return files
|
return files
|
||||||
|
|
||||||
|
|
||||||
@@ -219,11 +237,10 @@ def build_file_associations(
|
|||||||
|
|
||||||
twole_files = get_files_with_times(twole_folder)
|
twole_files = get_files_with_times(twole_folder)
|
||||||
zxxk_files = get_files_with_times(zxxk_folder)
|
zxxk_files = get_files_with_times(zxxk_folder)
|
||||||
|
print("******************",twole_files[0],"******************")
|
||||||
for i, content in enumerate(word_content):
|
for i, content in enumerate(word_content):
|
||||||
# 按 \t 分割成段
|
# 按 \t 分割成段
|
||||||
parts = content.split('\t')
|
parts = content.split('\t')
|
||||||
|
|
||||||
if len(parts) < 6:
|
if len(parts) < 6:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user