dimanche 19 juin 2016

Python2.7 search zipfiles for .kml containing string without unzipping

I am trying to write my first python script below. I want to search through a read only archive on an HPC to look in zipfiles contained within folders with a variety of other folder/file types. If the zip contains a .kml file I want to print the line in there starting with the string <coordinates>.

import zipfile as z 
kfile = file('*.kml') #####breaks here#####
folderpath = '/neodc/sentinel1a/data/IW/L1_GRD/h/IPF_v2/2015/01/21'  # folder with multiple folders and .zips
for zipfile in folderpath:  # am only interested in the .kml files within the .zips
    if kfile in zipfile:
        with read(kfile) as k:
            for line in k:
                if '<coordinates>' in line:  # only want the coordinate line
                    print line  # print the coordinates
k.close()

Eventually I want to loop this through multiple folders rather than pointing to the exact folder location ie loop thorough every sub folder in here /neodc/sentinel1a/data/IW/L1_GRD/h/IPF_v2/2015/ but this is a starting point for me to try and understand how python works.

I am sure there are many problems with this script before it will run but the current one I have is

kfile = file('*.kml')
IOError: [Errno 22] invalid mode ('r') or filename: '*.kml'
Process finished with exit code 1

Any help appreciated to get this simple process script working.

Aucun commentaire:

Enregistrer un commentaire