python-3.x - Python3.8:将一个数据文件拆分为多个文件,所有文件均由文件中的关键字命名
问题描述
我有一个数据文件,每行开头都有一些关键词:
ATOM 145 HH11 ARG A 9 1.714 -4.146 -13.917 1.00 60.34 H
ATOM 146 HH12 ARG A 9 2.108 -5.132 -15.287 1.00 3.13 H
ATOM 147 HH21 ARG A 9 0.626 -2.990 -17.619 1.00 10.52 H
ATOM 148 HH22 ARG A 9 1.490 - 4.473 -17.392 1.00 13.53 H
TER 149 ARG A 9
型号 2
ATOM 1 N ARG A 1 0.642 -0.735 -0.097 1.00 2.52 N
ATOM 2 CA ARG A 1 1.593 -0.712 -1.202 1.00 73.00 AATOM 8 -3 CAT.3
A -2.452 1.00 65.25 摄氏度
我已通过以下方式拆分原始文件:
with open('abc.pdb', 'r') as file_in:
with open('abc_models.pdb', 'w') as file_out:
for line in file_in:
if line.startswith('MODEL') or line.startswith('ATOM') or line.startswith('TER'):
file_out.write(line)
现在我想把这个文件分成如下:
MODEL 1 ----> TER(将此模型命名为 1) MODEL 2 ----> TER(将此模型命名为 2)
谁能告诉我如何按照我的描述拆分这个文件?
解决方案
with open('abc.pdb', 'r') as file_in:
for line in file_in:
if line.startswith('MODEL'):
file_out = open(f'abc_{line}.pdb', 'w')
elif line.startswith('TER'):
file_out.close()
else:
file_out.write(line)
推荐阅读
- android - MVVM 和 Dagger - 注入活动范围模型会导致过时的实例问题
- javascript - 为什么 json 文件中的 document.createElement('br') 不可见
- html - Magick CSS 以不同方式应用于字符串的每个字符
- python - 折叠多维 NumPy 数组的简单方法
- nginx - 可恢复的js正在触发fileSuccess,而块没有在服务器中组装
- github-actions - GitHub Actions - 不止一个 cron
- r - 如何在动画地图 R 上添加第二个点变量?
- html - 如何使用 HTML 通过按钮重新创建表格?
- reactjs - reactjs中如何调用另一个文件的函数
- python - 设置 s3 子目录路径并使用 boto 删除它的 Python 方法