我从python中的文件调用了一个函数(carlabels
),并希望将函数返回的值作为输入,以便在代码的后面部分中使用。我能够将函数导入新的python文件,并能够打印返回的值。如何将这些值保存在文本文件中以进一步使用它们?
#detected_cars.py
import cartracker #this code is for detecting the cars
import cartracker2 #slight modification on cartracker
width = 3296 #dimention to capture
height = 2472 #dimention to capture
gray = cv2.CreateImage(sz, 8, 1) #create an image of specified dimention
new_fc = 1
def carlabels(carinfo):
labels=[]
r=60
for (tag,xy,orient,err,wl,sq) in carinfo:
xy2= (int(xy[0]+r*math.sin(math.radians(orient))),int(xy[1]-r*math.cos(math.radians(orient))))
labels.append((xy,xy2,str(tag)))
return labels
if new_fc:
carinfo = cartracker.Analyze_captured_near_gate(gray, area=[width, height], th_factor=0.5, single_edge=0)
else:
carinfo = cartracker2.Analyze_captured_near_gate(gray, area=[width, height], th_factor=0.5, single_edge=0)
labels = carlabels(carinfo)
当我表演时:
print labels #i can see the id's of the car displayed.
但是,当我尝试导入函数返回的值时,如下所示,该值不会显示
from detected_cars import carlabels
tag_id_nd_coordinates = labels
print tag_id_nd_coordinates
答案 0 :(得分:0)
您的函数返回一个列表。将其分配给某个东西,然后将其视为任何其他列表。
#detected_cars.py
def carlabels():
return [1, 2, 3]
然后
>>> from detected_cars import carlabels # note no .py extension when importing
>>> labels = carlabels()
>>> print(labels)
[1, 2, 3]
>>> print("sum of labels: ", sum(labels))
sum of labels: 6
>>> print('First label: ', labels[0])
First label: 1
第from detected_cars import carlabels
行不会执行您的carlabels功能。它只在该文件中提供该功能。
如果您想要访问在其他脚本中创建的labels
变量,则应该可以使用from detected_cars import labels
,然后使用labels
作为列表。