使用ArcPy进行文件验证?


13

我有一个脚本,可以扫描目录并输出基本的栅格数据信息,例如文件名,格式,波段数等。如果目录不包含栅格数据(即其他任何东西),我需要一种方法而不是栅格数据),则会显示一条消息,指出目录的数据类型不正确。

我知道ArcPy具有Describe()可用于确定文件夹中数据类型的功能,但不确定如何实现它。这是我到目前为止所拥有的:

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.")

有什么建议么?

Answers:


16

简单的东西怎么样:

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

len()函数计算返回的字符串/列表的长度,因此,如果返回,0则您不知道文件夹中符合条件的任何内容(在本例中为栅格)。这样,如果文件夹包含任何栅格(即使不是每个文件都是一个栅格),也将对其进行处理。


感谢nmpeterson!就是这样 我知道我缺少一些简单的东西。不能相信我没有想到这个len()功能。
kaoscify
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.