所以我试图在python中用csv写行,我的代码看起来像这样。但它不会写,因为这些变量是本地的?我该怎么做?谢谢!没有错误显示,它在csv中没有写入行。 当我在mac上的pycharm中运行它时,它可以正常工作,但是当我在windows上创建一个exe后,它就不会写行。
types=[]
row=[]
col=[]
image_number=[]
def click(event):
global rectangle
global image_list1
types.append(v.get())
row.append(event.x)
col.append(event.y)
filename = image_list1[0]
image_number.append(filename)
x1, y1 = (event.x -3), (event.y- 3)
x2, y2 = (event.x + 3), (event.y + 3)
rectangle=w.create_rectangle(x1, y1, x2, y2,fill=color[v.get()-1],outline="")
if image_length:
root.tk()
w.bind("<Button-1>", click)
root=mainloop()
d.writerows(zip(image_number, types, row, col))
答案 0 :(得分:1)
这是return
语句的用途:
types=[]
row=[]
col=[]
image_number=[]
def click(event):
global rectangle
global image_enum
global image_list1
types.append(v.get())
row.append(event.x)
col.append(event.y)
filename = image_list1[0]
image_number.append(filename)
return (image_number, types, row, col)
if image_length:
image_number, types, row, col = click(event)
d.writerows(zip(image_number, types, row, col))
或者如果你想要花哨:
if image_length:
d.writerows(zip(*click(event)))
当然,您需要先定义一个事件!