add 临时的复制文件脚本
This commit is contained in:
37
copyfile.py
Normal file
37
copyfile.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
|
||||
# 设置源目录和目标目录模板
|
||||
src_dir = Path('./newfix')
|
||||
dest_dir_template = Path('./pdb_test1/runner_{pdb_id}')
|
||||
|
||||
# 查找所有符合模式的文件
|
||||
for file_path in src_dir.glob('*.modellerfix.pdb'):
|
||||
# 提取PDB ID
|
||||
pdb_id = file_path.stem.split('.')[0]
|
||||
# 设置目标目录
|
||||
dest_dir = dest_dir_template.with_name(dest_dir_template.name.format(pdb_id=pdb_id))
|
||||
# 确保目标目录存在
|
||||
dest_dir.mkdir(parents=True, exist_ok=True)
|
||||
# 复制文件
|
||||
shutil.copy(file_path, dest_dir / file_path.name)
|
||||
|
||||
# 检查和统计文件
|
||||
count = 0
|
||||
for pdb_id in src_dir.glob('*.modellerfix.pdb'):
|
||||
pdb_id = pdb_id.stem.split('.')[0]
|
||||
dest_dir = dest_dir_template.with_name(dest_dir_template.name.format(pdb_id=pdb_id))
|
||||
if (dest_dir / pdb_id).exists():
|
||||
count += 1
|
||||
|
||||
print(f"共复制并核对了 {count} 个文件")
|
||||
|
||||
# 遍历pdb_test1下的所有runner_*目录
|
||||
for runner_dir in Path('./pdb_test1').glob('runner_*'):
|
||||
pdb_id = runner_dir.name.split('_')[1]
|
||||
files = list(runner_dir.glob(f'{pdb_id}.modellerfix.pdb'))
|
||||
|
||||
# 确保每个目录中恰有一个匹配的文件
|
||||
assert len(files) == 1, f"目录 {runner_dir} 中找到了 {len(files)} 个匹配的文件,期望是 1 个"
|
||||
|
||||
print("所有runner_*目录下的文件检查完毕,均符合一对一的条件。")
|
||||
Reference in New Issue
Block a user