Insert image to a List box

Matimus mccredie at gmail.com
Thu Nov 15 16:45:21 EST 2007


On Nov 15, 12:45 pm, linda.s <samrobertsm... at gmail.com> wrote:
> I run the following code and got the error (I put a .gif file on the desktop)
> Traceback (most recent call last):
>   File "11.py", line 25, in <module>
>     for gifname in os.listdir(dirpath):
> OSError: [Errno 2] No such file or directory: '.\\Desktop\\'
>
> import os
> import Tkinter
>
> root = Tkinter.Tk()
> L = Tkinter.Listbox(selectmode=Tkinter.SINGLE)
> gifsdict = {}
>
> dirpath = '.\\Desktop\\'
> for gifname in os.listdir(dirpath):
>     if not gifname[0].isdigit():
>        continue
>     gifpath = os.path.join(dirpath, gifname)
>     gif = Tkinter.PhotoImage(file=gifpath)
>     gifsdict[gifname] = gif
>     L.insert(Tkinter.END, gifname)
>
> L.pack()
> img = Tkinter.Label()
> img.pack()
> def list_entry_clicked(*ignore):
>     imgname = L.get(L.curselection()[0])
> img.config(image=gifsdict[imgname])
> L.bind('<ButtonRelease-1>', list_entry_clicked)
> root.mainloop()

The exception points to this line as being the issue:
> for gifname in os.listdir(dirpath):

and the error says `No such file or directory: '.\\Desktop\\''

So, there must be no directory named '.\\Desktop\\' in your current
working directory. To find out your current working directory use
`os.getcwd()'. Make sure that `os.getcwd()' returns the path to a
directory with a Desktop folder in it. This is usually something like
'C:\\Documents and Settings\\username'.

Matt

Matt



More information about the Python-list mailing list