我试图设置一个新变量来引用函数中的变量。我的伪代码如下:def myfunction():
a bunch of stuff that results in
myvariable = "Some Text"
代码再往下看,我有这个:
^{pr2}$
我一直收到一条错误消息,内容如下:名称“myvariable”未定义
我想如果我调用这个函数,它会处理一些东西,我把结果传递给一个变量,然后把这个变量引用到一个更独特的变量,它会存储它……但事实并非如此。在
编辑:我附加了我的代码,因为我在第一篇文章中不够清楚。我想说的是,在我的函数里,有一个变量是不够的。我认为我最初的psuedo代码很好地提出了这个问题。我也觉得这可能不是最好的方法。可能调用2个函数会更合适?我的代码如下:def datetypedetector():
rows = arcpy.SearchCursor(fc)
dateList = []
for row in rows:
dateList.append(row.getValue("DATE_OBSERVATION").strftime('%m-%d-%Y'))
del row, rows
newList = sorted(list(set(dateList)))
dates = [datetime.strptime(d, "%m-%d-%Y") for d in newList]
date_ints = set([d.toordinal() for d in dates])
if len(date_ints) == 1:
DTYPE = "Single Date"
#print "Single Date"
elif max(date_ints) - min(date_ints) == len(date_ints) - 1:
DTYPE = "Range of Dates"
#print "Range of Dates"
else:
DTYPE = "Multiple Dates"
#print "Multiple Dates"
fcList = arcpy.ListFeatureClasses()
for fc in fcList:
if fc == "SO_SOIL_P" or fc == "AS_ECOSITE_P":
datetypedetector()
ssDate = newList
print fc + " = " + str(ssDate)
ssDatetype = DTYPE
print ssDatetype
elif fc == "VE_WEED_P":
datetypedetector()
vwDate = newList
print fc + " = " + str(vwDate)
vwDatetype = DTYPE
print vwDatetype
else:
datetypedetector()
vrDate = newList
print fc + " = " + str(vrDate)
vrDatetype = DTYPE
print vrDatetype