图像保存到错误的文件路径

Image saving to wrong file path

我编写了一个从数组创建图像的程序。最后,我使用 PIL 的 .fromarray() 转换它,然后使用 .save() 方法保存它。我没有指定文件路径,因为我想将文件保存在与程序所在的路径相同的路径中。我的图像没有这样做,而是保存在完全不同的不相关路径中。如何在不指定文件路径的情况下将图片保存在与程序相同的路径下?

程序在路径:“C:\Users\Bloo\Desktop\extra\skins\skin maker”

图像保存到路径:“C:\Users\Bloo\Desktop\Homework\Computer Science”

这是我的代码的节省位。

# convert the array to an image
image = Image.fromarray(colorData)

# ask for the file name
fileName = input("Please enter the file name you would like for the skin image. Format is not required\n")
fileName += ".png"    # add the file format to end of file name

# save the image
image.save(fileName, "PNG")

如果您没有指定路径并且它将文件保存在不同的目录中,那么您的工作目录可能与您的文件路径不同。

检查您的工作目录:

import os
print(os.getcwd())

您可以像这样更改工作目录:

os.chdir('directory')

将其与 os.path.dirname(os.path.abspath(__file__)) 结合,其中 returns 文件的绝对路径将工作目录更改为文件目录:

filedir = os.path.dirname(os.path.abspath(__file__))
os.chdir(filedir)

然后您可以检查工作目录以确认它已更改并且现在与文件目录匹配。

将此添加到文件的开头:

import os

program_directory_name = os.path.dirname(os.path.abspath(__file__))
os.chdir(program_directory_name)

那么您的工作目录将与您的文件目录相同运行。