计算化学公社

标题: 求读取xyz文件中指定原子坐标的代码 [打印本页]

作者
Author:
shalene    时间: 2019-2-14 15:05
标题: 求读取xyz文件中指定原子坐标的代码
rt.谢谢

只会C,年龄大了实在是静不下心再学一门语言


作者
Author:
liyuanhe211    时间: 2019-2-14 16:25
本帖最后由 liyuanhe211 于 2019-2-14 16:27 编辑

最简单的情况如下,需要处理更复杂的情况(比如一个xyz里有多个结构的)自己改吧。
这事儿用C也很容易实现,不必要学新语言。
有C的基础用上一个周末的功夫学Python,绝对能用Python实现这件事

  1. dump_lines = 空余行数
  2. input_file = 输入文件路径
  3. atom_index = 需要坐标的原子序号


  4. def get_atom_coord(input_file, dump_lines, atom_index):  # atom_index count starts from 1
  5.     with open(input_file) as input_file:
  6.         input_file = input_file.readlines()
  7.         return tuple(map(float, input_file[dump_lines + atom_index - 1].split()[1:]))


  8. print(get_atom_coord(input_file, dump_lines, atom_index))  # 返回一个由xyz三个坐标构成的元组
复制代码

作者
Author:
shalene    时间: 2019-2-14 20:03
谢谢




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3