2012-11-28 3 views
-2

DL_POLY 프로그램 4에서 큰 출력 파일의 정보를 추출하여 일부 시각화 소프트웨어 용으로 포맷 된보다 간단한 파일로 만들려고합니다.Python 스크립트를 실행할 때 문제가 발생했습니다.

누군가가 이미 큰 히스토리 출력 파일 (본질적으로 많은 텍스트가 포함되어 있음)을 VMD에서 처리 할 올바른 형식 인 .xyz (확장자는 임의 임)로 변환하는 스크립트를 작성했다고 가정합니다. 에서 (

#!/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라는 이름의 파일로 스크립트를 저장하는 시도 : 여기

는 (도 가능 online) 스크립트입니다 : ( http://www.ccp5.ac.uk/DL_POLY_CLASSIC/FAQ/FAQ9.shtml 스크립트 작성자에서 전체 문서는 여기에서 확인할 수 있습니다) HISTORY 파일을 포함하는 디렉토리)와 파이썬을 통해 실행하지만 이것은 아무것도하지 않으며 출력을 생성하지 않습니다.

이 스크립트는 제대로 작동합니까?

나는 내 자신의 스크립트를 작성하려고하지만 솔직히, 어떻게해야할지 모르겠다.

+0

링크 된 웹 페이지의 지시에 따라 "이 스크립트의 atomList에 원자 기호 추가/수정 하시겠습니까?" –

답변

1

스크립트에는 두 가지 인수가 사용됩니다. 첫 번째는 입력 파일과 두 번째 출력 파일입니다, 그래서 당신은 좋아하는 그것을 실행해야합니다 :

./his2xyz.py HISTORY the_output_file.xyz 

편집 : 당신은 당신이 당신의 자신의 스크립트를 작성합니다 언급,하지만 당신은 어떻게 해야할지하지 않습니다 그것. 다음은 몇 가지 삶에 대한 조언입니다. 어떻게해야할지 모르는 경우 검색 엔진에 문의하십시오.하지만 그 사실을 알고 계십시오. 정말로 정말로 스크립트를 작성하고 싶다면 먼저 파이썬을 배워야합니다. 이 목적을 위해 시장에 좋은 책들이 많이 있지만 공식 문서는 잘 쓰여져 있습니다. tutorial으로 시작하여 재미있게 보내십시오! :-)

+0

그 것이 매력적이었습니다. 도와 줘서 고맙다. – sparxwil

+1

당신을 진심으로 환영합니다. 작동하는 경우 대답을 수락 할 수 있습니다. ;-) – eminor

+0

실제로 그는 StackOverflow를 발견했으며, 이미 멀리 떨어져있을 가능성이 높습니다. 그를 위해 upvoted. –

관련 문제