删除一层目录
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
# 建立文件关联
|
# 建立文件关联
|
||||||
|
|||||||
Reference in New Issue
Block a user