删除一层目录

This commit is contained in:
2026-03-31 17:15:30 +08:00
parent 3cb9337d8f
commit 756e2684ae

View File

@@ -65,7 +65,18 @@ def extract_all_zips(
# 设置访问时间和修改时间 # 设置访问时间和修改时间
os.utime(member_path, (timestamp, timestamp)) os.utime(member_path, (timestamp, timestamp))
print(f"✓ 已解压:{zip_file.name}") # 检查是否多了一层目录zip 内部只有一个同名文件夹)
inner_dir = extract_dir / zip_file.stem
if inner_dir.is_dir() and len(list(extract_dir.iterdir())) == 1:
# 移动内部文件夹所有内容到外层
for item in inner_dir.iterdir():
item.rename(extract_dir / item.name)
# 删除空的内层文件夹
inner_dir.rmdir()
print(f"✓ 已解压:{zip_file.name} (移除了多余目录层)")
else:
print(f"✓ 已解压:{zip_file.name}")
results.append(extract_dir) results.append(extract_dir)
# 删除原压缩包 # 删除原压缩包
@@ -299,7 +310,7 @@ def main():
# 解压压缩文件 # 解压压缩文件
if args.extract: if args.extract:
source_dir = Path(args.base_dir) if args.base_dir else Path("data") source_dir = Path(args.base_dir) if args.base_dir else Path("data")
extract_all_zips(source_dir, delete_original=args.delete_original) extract_all_zips(source_dir,"tmp", delete_original=args.delete_original)
return return
# 建立文件关联 # 建立文件关联