Я написал функцию и хотел вернуть переменную из этой функции, но я получаю сообщение об ошибке
локальная переменная "user", на которую ссылается перед присваиванием
Моя функция:
def txtelm():
# Updates date field to the current date
if textElement.name == "DATE":
textElement.text = strftime("%y %m %d")
if textElement.name == "CHECK":
textElement.text = "AB"
# First code block replaces the "Drawn" title block initials
if docauthor == "Mike" and textElement.name == "DRAWN":
textElement.text = "MM"
user = "mm"
#print user
elif docauthor == "Amy" and textElement.name == "DRAWN":
textElement.text = "AB"
user = "ab"
#print user
elif docauthor == "Ian" and textElement.name == "DRAWN":
textElement.text = "IB"
user = "ib"
elif docauthor == "Chris" and textElement.name == "DRAWN":
textElement.text = "CM"
user = "cm"
elif docauthor == "Cynthia" and textElement.name == "DRAWN":
textElement.text = "CC"
user = "cc"
return user
Далее по моему коду я вызываю функцию:
for textElement in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
txtelm()
user = txtelm()
if textElement.name == "PATH":
textElement.text = outloc + "\\" + sitename.replace(" ", "_") + "_" + trunc + strftime("%d%b%y") + "_" + user
Я установил некоторые сообщения для печати, чтобы напечатать 'user', но это не такпохоже что-то возвращают.До того, как я создал функцию, у меня был код внутри нее, жестко закодированный под «циклом for», и он работал .... так что я озадачен, почему он не возвращает никаких значений.
Есть предложения?