无法执行Python脚本

时间:2012-11-28 16:12:53

标签: python

我正在尝试从程序DL_POLY 4中的大输出文件中提取信息,并将其转换为更简单的文件,格式化为某些可视化软件。

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

这是脚本(也可用online):

#!/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运行,但这没有做任何事情并且不会产生输出。

这个脚本看起来应该有用吗?

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

1 个答案:

答案 0 :(得分:1)

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

./his2xyz.py HISTORY the_output_file.xyz

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

相关问题