how to write list in a file

Dhananjay dhananjay.c.joshi at gmail.com
Wed Apr 23 03:53:51 EDT 2014


Hello everyone,

I am trying hard to write a list to a file as follows:


def average_ELECT(pwd):
    os.chdir(pwd)
    files = filter(os.path.isfile, os.listdir('./'))
    folders = filter(os.path.isdir, os.listdir('./'))
    eelec = 0.0; evdw = 0.0; EELEC = []; elecutoff = [];
    g = Gnuplot.Gnuplot()
    for f1 in files:
#       if f1[21:23]=='12':
        if f1[27:29]==sys.argv[1]: # vdw cutoff remains constant; see 2nd
column of output
            fl1 = open(f1,'r').readlines()
    #       print len(fl1)

            for i in range(1, len(fl1)):
                fl1[i]=fl1[i].split()
                eelec = eelec + float(fl1[i][1])
                evdw = evdw + float(fl1[i][2])
                #print fl1[i][1], fl1[i][2]
            avg_eelec = eelec/40
            avg_evdw = evdw/40
    #       print eelec, evdw
    #       print f1[21:23], f1[27:29], avg_eelec, avg_evdw
            print f1[21:23], f1[27:29], avg_eelec
    #       EELEC.append(avg_eelec); elecutoff.append(float(f1[21:23]))
            eelec=0.0; evde=0.0;
            a = f1[21:23]+' '+f1[27:29]+' '+str(avg_eelec)
            EELEC.append(a)
    print sorted(EELEC)
    with open('EElect_elec12-40_vdwxxx.dat','w') as wr:
        for i in EELEC:
            print i
            wr.write("%s\n" % i)
    wr.close()


The script is printing "print sorted(EELEC)" as well as "print f1[21:23],
f1[27:29], avg_eelec" very well.
However, for some reason, I neither see any file (expected to see
EElect_elec12-40_vdwxxx.dat as per the script) generated nor any error
message.

Could anyone suggest me correction here.

Thanking you in advance.

-- DJ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140423/45de093b/attachment.html>


More information about the Python-list mailing list