update yolov26
This commit is contained in:
55
compare_dirs.py
Normal file
55
compare_dirs.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
def compare_directories(dir_a, dir_b):
|
||||
if not os.path.isdir(dir_a):
|
||||
print(f"错误: 目录 '{dir_a}' 不存在。")
|
||||
return
|
||||
if not os.path.isdir(dir_b):
|
||||
print(f"错误: 目录 '{dir_b}' 不存在。")
|
||||
return
|
||||
|
||||
def get_prefix(filename):
|
||||
if "_frame_" in filename:
|
||||
return filename.split("_frame_")[0]
|
||||
return filename
|
||||
|
||||
# 获取文件名到前缀的映射
|
||||
files_a_map = {get_prefix(f): f for f in os.listdir(dir_a) if os.path.isfile(os.path.join(dir_a, f))}
|
||||
files_b_map = {get_prefix(f): f for f in os.listdir(dir_b) if os.path.isfile(os.path.join(dir_b, f))}
|
||||
|
||||
prefixes_a = set(files_a_map.keys())
|
||||
prefixes_b = set(files_b_map.keys())
|
||||
|
||||
only_in_a_prefixes = sorted(list(prefixes_a - prefixes_b))
|
||||
only_in_b_prefixes = sorted(list(prefixes_b - prefixes_a))
|
||||
both_prefixes = sorted(list(prefixes_a & prefixes_b))
|
||||
|
||||
print(f"目录 A: {dir_a} (前缀总数: {len(prefixes_a)})")
|
||||
print(f"目录 B: {dir_b} (前缀总数: {len(prefixes_b)})")
|
||||
print("-" * 30)
|
||||
|
||||
print(f"只出现在 A 的文件前缀 ({len(only_in_a_prefixes)} 个):")
|
||||
if only_in_a_prefixes:
|
||||
for p in only_in_a_prefixes:
|
||||
print(f" - {files_a_map[p]}")
|
||||
else:
|
||||
print(" (无)")
|
||||
|
||||
print(f"\n只出现在 B 的文件前缀 ({len(only_in_b_prefixes)} 个):")
|
||||
if only_in_b_prefixes:
|
||||
for p in only_in_b_prefixes:
|
||||
print(f" - {files_b_map[p]}")
|
||||
else:
|
||||
print(" (无)")
|
||||
|
||||
print(f"\n共同出现的前缀: {len(both_prefixes)} 个")
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description="对比两个目录的文件名差异")
|
||||
parser.add_argument("dir_a", help="第一个目录路径")
|
||||
parser.add_argument("dir_b", help="第二个目录路径")
|
||||
|
||||
args = parser.parse_args()
|
||||
compare_directories(args.dir_a, args.dir_b)
|
||||
Reference in New Issue
Block a user