Есть ли причина, по которой мой счет равен нулю, когда ему должно быть 29. Я попытался инициализировать счет внутри моей функции, но затем он говорит, что он не определен.Переменная инициализация с помощью методов (Python)
shapefile = "Schools.shp"
work = r"c:\Scripts\Lab 6 Data"
facility = "HIGH SCHOOL"
count = 0
def numSchools(work, shapefile, facility):
whereClause = "\"FACILITY\" = 'HIGH SCHOOL' " # where clause for high schools
cursor = arcpy.SearchCursor("Schools.shp", facility)
result = arcpy.GetCount_management(cursor)
for result in cursor:
count = int(result.getOutput(0))# Get the first value from the Result object
return count
print ("The number of " + facility + " are:"), int(count)
В его базовой форме этот код возвращает правильное количество школ.
import arcpy
arcpy.env.workspace = r"c:\Scripts\Lab 6 Data"
result = arcpy.GetCount_management("Schools.shp")
count = int(result.getOutput(0))
print ("The number of rows in 'schools' is "),int(count)
Однако Schools.shp - это файл, который содержит 201 школу.
Мне нужно зайти в этот файл в поле под названием «объекты», а затем в нем получить число «средних школ» (я знаю, как сделать эту часть). НО Я также нуждаюсь в том, чтобы этот код работал как функция (с чем я столкнулся).
Вы можете включать в ваше сообщение об ошибке? – dmlicht
Вы определяете функцию, но на самом деле ее не называете. Ничто из того, что вы писали внутри функции, не имеет значения. – jasonharper
@dmlicht NameError: name 'count' не определен –