-2

我正在尝试从程序 DL_POLY 4 的大型输出文件中提取信息,并将其制成一个更简单的文件,并针对某些可视化软件进行格式化。

假设有人已经编写了一个脚本来将大型 HISTORY 输出文件(基本上只包含大量文本)转换为 .xyz(扩展名是任意的),这是 VMD 处理的正确格式。(脚本创建者的完整文档可在此处获得:http ://www.ccp5.ac.uk/DL_POLY_CLASSIC/FAQ/FAQ9.shtml )

这是脚本(也可在线获得):

#!/usr/bin/env python
import sys,string

atomList=['Si','Al','O_','O','H','C','Cl','Na','Zr','Y_','Mg','K','Ag','Ar']
inputFile=open(sys.argv[1],'r')
outFile=open(sys.argv[2],'w')

title=inputFile.readline()
line=inputFile.readline()

while(line!=""): 
if string.split(line)[0]=='timestep':
    timestep='step= '+string.split(line)[1]+'\n'
    totalAtom=string.split(line)[2]+'\n'    
    outFile.write(totalAtom)
    outFile.write(timestep)

if string.split(line)[0][:2] in atomList:
        atomName=string.split(line)[0][:2]+'\t'
    outFile.write(atomName)
    xyzline=inputFile.readline()
    outFile.write(xyzline)

line=inputFile.readline()

inputFile.close()
outFile.close()

我尝试将脚本保存为我命名为 his2xyz.py 的文件(在包含 HISTORY 文件的目录中)并通过 Python 运行,但这没有任何作用,也不会产生输出。

这个脚本看起来应该可以工作吗?

我想尝试编写自己的脚本,但老实说,我不知道该怎么做。

4

1 回答 1

1

该脚本有两个参数。第一个是输入文件,第二个是输出文件,所以你必须像这样运行它:

./his2xyz.py HISTORY the_output_file.xyz

编辑:您提到您将编写自己的脚本,但您不知道该怎么做。以下是一些生活建议:如果您不知道如何做某事,请咨询搜索引擎——但您知道这一点。如果你真的真的很想写一个脚本,你需要先学习 Python。市场上有很多为此目的的好书,但官方文档也写得很好。从教程开始,玩得开心!:-)

于 2012-11-28T16:26:23.760 回答