ArcPy kullanarak Dosya Doğrulama?


13

Bir dizini tarar ve dosya adı, biçim, bant sayısı, vb gibi temel raster veri bilgileri çıktılar bir komut dosyası var. Dizin raster veri (yani, başka bir şey içermiyorsa) yapmak için bir yol gerekir ), dizinin doğru veri türüne sahip olmadığını belirten bir mesaj görüntülenir.

ArcPy'nin Describe()bir klasördeki veri türünü belirlemek için kullanabileceğim bir işlevi olduğunu biliyorum , ancak nasıl uygulanacağından emin değilim. Şimdiye kadar sahip olduğum şey bu:

rasterList = arcpy.ListRasters("*", "ALL")
filesType = arcpy.DataType('RasterDataset') # Can use `DatasetType` as well. 
                                            # I've tested this function to describe
                                            # raster data and ArcPy prints out
                                            # 'RasterDataset', that is why I have it 
                                            # there in the brackets.
for name in rasterList:
    if rasterList == filesType:
        print ("\nFilename:"), name
    else:
        print ("This directory does not contain any raster data.")

Herhangi bir öneri?

Yanıtlar:


16

How about something simple like:

if len(rasterList) == 0:
    print ("This directory does not contain any raster data.")
else:
    # Your raster processing code

The len() function calculates the length of the returned string/list, so if it returns 0 then you know nothing in the folder matched the criterion (in this case, being a raster). This way, if the folder contains any rasters (even if not every file is a raster) they will be processed.


Thanks nmpeterson! That was it. I knew I was missing something simple. Can't believe I didn't think of the len() function.
kaoscify
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.