#!/usr/bin/env python2 import sys import os def findall(sub, string): """ >>> text = "Allowed Hello Hollow" >>> tuple(findall('ll', text)) (1, 10, 16) """ index = 0 - len(sub) try: while True: index = string.index(sub, index + len(sub)) yield index except ValueError: pass filepath = sys.argv[1] basis = sys.argv[2] icount = 0 zmat = [] with open(filepath, "r") as fp: cipsi = [] for line in fp: if (icount == 0 ): a=line.split(',') charge = int(a[0]) spin = int(a[1]) else: a=line.split() if(len(a)>0): n=a[0].count(',') if(n > 6): listfind=list(findall(',', a[0])) char=a[0] a[0]=char[0:listfind[n-1]] b=a[0].replace(',', ' ') b=b.replace('=', ' ') zmat.append(b) else: b=" " zmat.append(b) icount += 1 c = filepath.split('.') file_origin = c[0] ezfio = file_origin+".ezfio" zmat_file = file_origin+".zmt" file_zmat = open(zmat_file,"w+") for l in zmat: file_zmat.write(l +'\n') print("qp_create_ezfio -m %s -c %s -b %s -o %s %s" % (spin,charge,basis,ezfio,zmat_file))