My other message was incomplete, it was a mistake: This is the correct one 2010/12/7 Susana Iraiis Delgado Rodriguez <susana.delgad...@utzmg.edu.mx>
> I make a script to redirect a txt file from an external directory, but in > this directory I don't have permission to write, just to read data. So I > make this module: > import os, time,fnmatch > from xlwt import Workbook > from osgeo import ogr,gdal,osr > from dbf import * > gdal.AllRegister() > file_list = [] > folders = None > for root, folders, files in os.walk( "R:\\" ): > for filename in fnmatch.filter(files, '*.shp'): > file_list.append(os.path.join(root, filename)) > wrkbk = Workbook() > wksht = wrkbk.add_sheet('shp') > wksht.row(0).write(0,'ruta') > wksht.row(0).write(1,'archivo') > wksht.row(0).write(2,'estructura bd') > for row, filepath in enumerate(file_list, start=1): > wksht.row(row).write(0, filepath) > (ruta, filename) = os.path.split(filepath) > wksht.row(row).write(1, filename) > f = os.path.splitext(filename) > t = f[0]+'_bd.txt' > d = n[0]+'.dbf' > if os.path.lexists(d): > filepath = "C:\\Python26\\" > a = open (filepath +t,"w+") > dbf = Dbf(d,new=False) > for fldName in dbf.fieldDefs: > a.write(fldName.name) > a.write(" || ") > a.write(fldName.typeCode) > a.write("\n") > dbf.close() > a.close() > wksht.row(row).write(2, t) > else: > print "El archivo " +n[0]+".shp" " no tiene dbf" > wksht.row(row).write(10, "Sin bd" > wrkbk.save('C:\\Python26\\biblio_shp.xls') > When I run the script I got the next error: >>> import crawler_shp Traceback (most recent call last): File "<stdin>", line 1, in <module> File "crawler_shp.py", line 105, in <module> dbf = Dbf(d,new=False) File "C:\Python26\lib\site-packages\dbf.py", line 125, in __init__ self.stream = file(f, ("r+b", "rb")[bool(readOnly)]) IOError: [Errno 13] Permission denied: 'R:\\Aplicaciones\\IRISv3\\mis proyectos\ \HURACAN\\BUFFER1000.dbf' The error is pointing to a library I used to make the script run: dbf.py. in thid lines: if isinstance(f, basestring): # a filename self.name = f if new: # new table (table file must be # created or opened and truncated) self.stream = file(f, "w+b") else: # tabe file must exist self.stream = file(f, ("r+b", "rb")[bool(readOnly)]) > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor