import os
import string
import subprocess as sub
import re
import numpy as np

with open('templ.nw') as f:
    templ=string.Template(f.read())

def leggi_energia(nome):
    espr=re.compile('Total [^ ]* energy = *(?P<energia>.*)')
    with open(nome) as out:
        for l in out:
            corr=espr.search(l)
            if corr:
                return float(corr.group('energia'))


def energia(dist):
    cartella=str(int(dist*100))
    os.mkdir(cartella)
    os.chdir(cartella)
    with open('nwchem.nw', 'w') as inp:
        print(templ.substitute(dict(z=dist)), file=inp)
    with open('nwchem.out', 'w') as out:
        sub.run(["nwchem"], stdout=out)
    energia=leggi_energia('nwchem.out')
    os.chdir('..')
    return energia

#distanze=np.linspace(0.3,2.0, 18)
#energie=[energia(x) for x in distanze]


