枕头 - FileNotFoundError:没有这样的文件或目录:'Lit_Bulb.jpg'

时间:2015-07-29 12:45:44

标签: python user-interface tkinter pillow

enter image description here

我刚刚通过Pillow下载并解压PyPI,现在看来模块现在可以访问了,但是当我尝试测试它添加图片时,它会显示以下错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python Projects\Button Puzzle (GUI).py", line 4, in <module>
    image = Image.open("Lit_Bulb.jpg")
  File "C:\Program Files (x86)\PIL\Image.py", line 2288, in open
    fp = builtins.open(fp, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'Lit_Bulb.jpg'

我将jpg文件放在PIL文件夹中,希望它能在模块中找到它,但我想我做得不对,有人可以帮忙吗?

我试过的代码:

import tkinter
from PIL import Image, ImageTk

image = Image.open("Lit_Bulb.jpg")
photo = ImageTk.PhotoImage(image)
label = tkinter.Label(main_menu, image = phto)
label.image = photo
label.pack()

main_menu = tkinter.Tk()
main_menu.title("Button Puzzle")
main_menu.configure(background ="SlateGray3")
main_menu.geometry("200x100")

play_button = tkinter.Button(main_menu, text="PLAY")
rules_button = tkinter.Button(main_menu, text= "Rules")
play_button.pack()
rules_button.pack() 

main_menu.mainloop()

2 个答案:

答案 0 :(得分:3)

完整路径传递给文件image = Image.open("path_to_/Lit_Bulb.jpg"),除非该文件与您的cwd位于同一目录中,然后python无法找到文件。

答案 1 :(得分:0)

  1. 将图像或资源放入其中是一种好习惯 与主.py文件的目录相同的文件夹。例如,如果 你有你的主要文件在c:\ projects \ myProject \,那么你应该 将您的图像放在同一文件夹myProject中。

    这样,当您从代码中打开任何文件或图像时,全部 你需要做的是写出文件或图像的名称。例如。 myImage = Image.open('Lit_Bulb.jpg')

  2. 如果您没有将图像或文件放在同一个文件夹中 通过在打开文件时指定确切的目录来访问它们 或图像。例如,如果我的图片位于E:驱动器中的文件夹中,那么我可以 使用它访问它。
    myImage = Image.open('E:\myFolder\Lit_Bulb.jpg')

  3. 注意 - 如果您有一个需要大量文件和图片的大项目,那么您应该将这些图像放在与.py文件相同的目录中的新文件夹中。执行此操作后,如果要打开这些文件,它将看起来像这样。 myImage = Image.open('Images\Lit_Bulb.jpg')因此,Images文件夹与py文件位于同一目录中,您无需指定整个目录。希望这会有所帮助。