2015-05-20 4 views
0

У меня возникли трудности с отображением изображения на холсте с помощью tkinter. Я считаю, что проблема возникает из-за неправильной загрузки изображения. Ниже приведен код, который я пытаюсь сделать. «Файл =« Пользователи/ramos1992/Desktop/test_image.gif »- моя попытка загрузить изображение с рабочего стола.Mac Python 3.4.4, импортирование файлов/изображений, tkinter

from tkinter import * 
tk = Tk() 
canvas = Canvas(tk, width=400, height=400) 
canvas.pack() 
my_image = PhotoImage(file='Users/ramos1992/Desktop/test_image.gif') 
canvas.create_image(0, 0, anchor=NW, image=my_image) 

mainloop() 

Каков правильный способ загрузки файлов с использованием Mac и как я могу заставить код работать?

+0

Убирает '/' от '/ Users' только опечатку, или вы не понимаете разницы? – abarnert

ответ

1

Путь /Users/ramos1992/Desktop/test_image.gif, который ведущий слэш, является абсолютным путем: он начинается в верхней части вашего жесткого диска, получает каталог с именем Users там, а затем получает каталог с именем ramos1992 там, и так далее.

Путь Users/ramos1992/Desktop/test_image.gif, без ведущей косой черты, является относительной дорожкой : он запускается в текущей рабочей директории. Это может быть, скажем, /Users/ramos1992/Documents/Python Projects. Итак, вы в конечном итоге смотрите в /Users/ramos1992/Documents/Python Projects/Users/ramos1992/Desktop/test_image.gif, и, конечно, такого места нет.

См. absolute and relative paths в Википедии для более подробной информации.


Только в случае, если вы (или кто-то другой читает это) был классический эксперт Mac обратно в старые времена и путают: абсолютный против относительных путей имеют почти прямо противоположный синтаксис между классической Mac OS стиле пути и современные пути Mac OS X-style (Unix). Старинный стиль Drive:Folder:Folder:File без префикса - /Drive/Folder/Folder/File, а старый стиль :Folder:File с префиксом - ./Folder/File, что фактически совпадает с Folder/File без префикса.

Смежные вопросы