kozuko
kozuko

Reputation: 11

Python Pillow Image.show() Path Issue?

Honest warning—I'm a total beginner.

I'm using Python 3.8.2 in IDLE and sometimes in Spyder.

My goal: to open an image (located in a folder) in Preview using Pillow

My code:

from PIL import Image
my_image = Image.open("flower.jpg")
my_image.show(r"/Users/User/Desktop/flower.jpg")

I run this, and it works! But it only works if the jpg is on the Desktop. I want to put the image in a folder. So I changed my last line of code to something like this:

my_image.show(r"/Users/User/Desktop/folder/flower.jpg")

I put the image in the folder, run the program, and get this error:

**FileNotFoundError: [Errno 2] No such file or directory: 'flower.jpg'**

Oddly, if I put the jpg back onto the Desktop and still use the path with "folder" in it, the program runs successfully and shows me the image.

Is this a problem with the path? How can I use Image.show() to open an image that is located somewhere other than the Desktop?

Thank you!

Upvotes: 1

Views: 1473

Answers (1)

Paul M.
Paul M.

Reputation: 10799

If you want to open and view an image using an absolute path, you'll have to change this line:

my_image = Image.open(path_to_image_dir)

You've incorrectly passed a string to PIL.Image.show. This doesn't throw an error, since PIL.Image.show happens to take an optional string parameter title, which it will use as a title in the image window. Don't pass any parameters to show, and change "flower.jpg" in the line above to the actual path.

Upvotes: 1

Related Questions