2016-09-02 30 views
-6

我不斷收到一個IndentationError:預期有一個縮進塊。爲什麼會發生此錯誤?循環的縮進錯誤

import arcpy 
from arcpy import env 
env.workspace = r'D:\Programming\Lab1\lab1.gdb' 
env.overwriteOutput = 1 
env.qualifiedFieldNames = "UNQUALIFIED" 

#list the feature classes 
soils = arcpy.ListFeatureClasses() 

for soils in arcpy.ListFeatureClasses(): 
+3

你有沒有在你的循環......你到底想幹什麼?我還建議'因爲土壤中的土壤:'因爲你已經將列表作爲'soils'變量 –

+0

你也在說'soils = arcpy.ListFeatureClasses()'然後再次引用'arcpy.ListFeatureClasses()'你的循環定義。如果你想遍歷每個「要素類」,那麼你的循環應該像'for土壤中的feature_class:' – Harrison

回答

4

的Python期待一個縮進塊,這是不是有:

for soils in arcpy.ListFeatureClasses(): 
    # here should be something 

通過通過把pass值,什麼也不做提供了一些值,我們解決問題,例如,但解決IndentationError問題。

for soils in arcpy.ListFeatureClasses(): 
    pass 

還有一個絕招:

for soils in arcpy.ListFeatureClasses(): pass 

這也解決了這個問題。

+2

沒有解釋的代碼沒有幫助。請在回答中添加一些解釋 – Li357

+0

這是真的,已編輯。 – turkus

0

您在for循環中缺少代碼。

嘗試:

for soil in soils: 
    print(soil) 
    # or pass