删除一层目录
This commit is contained in:
@@ -65,7 +65,18 @@ def extract_all_zips(
|
||||
# 设置访问时间和修改时间
|
||||
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)
|
||||
|
||||
# 删除原压缩包
|
||||
@@ -299,7 +310,7 @@ def main():
|
||||
# 解压压缩文件
|
||||
if args.extract:
|
||||
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
|
||||
|
||||
# 建立文件关联
|
||||
|
||||
Reference in New Issue
Block a user