朋友们,大家好。我无法弄清楚这个问题。程序应在给定的 /Old 目录(以及所有子目录)中搜索所有 *.dxf,对图形进行典型更改,然后以相同的名称和相同的路径结构保存到 /New 目录。
from pathlib import Path
import glob
import ezdxf
from google.colab import drive
drive.mount('/content/drive', force_remount=True)
# Путь к старому каталогу
old_path = Path('/content/drive/My Drive/Старые')
# Путь к новому каталогу
new_path = Path('/content/drive/My Drive/Новые')
def save_new_dxf(file, doc):
# Создаем новый путь для файла в новом каталоге
new_file = new_path / file.name
parent_dir = new_file.parent
if not parent_dir.exists():
parent_dir.mkdir(parents=True)
doc.saveas(str(new_file))
def change_dxf(file):
# Открываем чертеж
doc = ezdxf.readfile(str(file))
# Тут вносим типовые изменения
# Передаём файл на сохранение
save_new_dxf(file, doc)
# Перебираем все файлы в старом каталоге и подкаталогах с расширением .dxf
for file in old_path.glob('**/*.dxf'):
change_dxf(file)
一切正常,有变化,但文件保存在 /New 目录中,没有结构,即所有文件都在一个文件夹中。
我怀疑错误是doc.saveas(str(new_file))
- 如何将子目录添加到路径中?