我正在读取目录中的文件,因此按钮的数量未知(取决于目录中有多少文件),并且我想为目录中的每个文件创建一个可以删除文件的按钮。所以我认为用for循环来做是一个好主意。但是我无法弄清楚这些按钮如何调用不同的功能(或将删除特定文件的功能)。它们都将调用相同的函数,因为我必须为每个按钮指定一个新函数。
尝试给按钮变量赋值失败。
尝试为每个按钮赋予函数变量失败。
而且我尝试了更多……
这是我的代码:
def delete():
fileCounter = 0
deleteFile = [os.path.splitext(filename)[0] for filename in os.listdir(myPath)]
for item in deleteFile:
deleteButton = Button(myFrame, text=str(deleteFile[fileCounter]), command=deleteItem)
deleteButton.grid(row=fileCounter, column=0, padx=10, pady=10)
fileCounter += 1
并且在运行该功能之后,我要运行正在删除文件的功能。
感谢您的帮助; )
我认为您应该更改方式,因为有更简单的方式。
您可以使用id;您可以为目录列表的每个项目指定一个ID,然后单击按钮,该按钮将返回我们一个ID,该ID可以从您的目录列表中调用,最终您可以删除文件或目录。