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

어떤 제안?

답변:


16

어떻습니까?

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

len()함수는 반환 된 문자열 / 목록의 길이를 계산하므로 반환 0되면 폴더에서 기준과 일치하는 항목 (이 경우 래스터)을 알 수 없습니다. 이렇게하면 폴더에 래스터가 포함되어 있으면 (모든 파일이 래스터가 아니더라도) 처리됩니다.


고마워 nmpeterson! 그거였다. 나는 간단한 것을 놓치고 있다는 것을 알았습니다. 내가 그 len()기능을 생각하지 않았다는 것을 믿을 수 없다 .
kaoscify
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.