图像保存到错误的文件路径
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)
那么您的工作目录将与您的文件目录相同运行。
我编写了一个从数组创建图像的程序。最后,我使用 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)
那么您的工作目录将与您的文件目录相同运行。