添加状态分类和液面分割

This commit is contained in:
琉璃月光
2025-09-01 14:14:18 +08:00
parent 6e553f6a20
commit ad52ab9125
2379 changed files with 102501 additions and 1465 deletions

View File

@ -0,0 +1,73 @@
import os
import shutil
def move_xml_files(source_folder, target_folder, recursive=True):
"""
将 source_folder 中的 .xml 文件移动到 target_folder
:param source_folder: 源文件夹路径
:param target_folder: 目标文件夹路径
:param recursive: 是否递归查找子文件夹
"""
# 检查源文件夹是否存在
if not os.path.exists(source_folder):
print(f"❌ 源文件夹不存在: {source_folder}")
return
# 如果目标文件夹不存在,创建它
os.makedirs(target_folder, exist_ok=True)
# 统计移动的文件数
moved_count = 0
# 选择遍历方式
if recursive:
# 递归遍历所有子文件夹
for root, dirs, files in os.walk(source_folder):
for file in files:
if file.lower().endswith('.xml'):
src_path = os.path.join(root, file)
dst_path = os.path.join(target_folder, file)
# 防止重名冲突(可选)
counter = 1
original_dst = dst_path
while os.path.exists(dst_path):
name, ext = os.path.splitext(file)
dst_path = os.path.join(target_folder, f"{name}_{counter}{ext}")
counter += 1
shutil.move(src_path, dst_path)
print(f"✅ 移动: {src_path} -> {dst_path}")
moved_count += 1
else:
# 只遍历当前目录
for file in os.listdir(source_folder):
src_path = os.path.join(source_folder, file)
if os.path.isfile(src_path) and file.lower().endswith('.xml'):
dst_path = os.path.join(target_folder, file)
# 防止重名(可选)
counter = 1
original_dst = dst_path
while os.path.exists(dst_path):
name, ext = os.path.splitext(file)
dst_path = os.path.join(target_folder, f"{name}_{counter}{ext}")
counter += 1
shutil.move(src_path, dst_path)
print(f"✅ 移动: {src_path} -> {dst_path}")
moved_count += 1
print(f"\n🎉 完成!共移动 {moved_count} 个 XML 文件。")
# ==========================
# 使用示例
# ==========================
if __name__ == "__main__":
source = "/home/hx/桌面/image/image" # 修改为你的源文件夹
target = "/home/hx/桌面/image/image/1" # 修改为你的目标文件夹
move_xml_files(source, target, recursive=True)