首页 > 解决方案 > “FileNotFoundError:[Errno 2] 没有这样的文件或目录:”尽管使用了完整路径

问题描述

只是想知道是否有人能指出我正确的方向,因为我完全不知道正在发生的事情(如果这非常明显,我是一个初学者,很抱歉!)。

我正在编写一些代码来创建照片马赛克。它需要从数据库中调整照片的大小,然后将图像拼接在一起以创建更大的图片。

相关代码如下:

def resize(self):
        path = "C:/Users/chloe/Desktop/Python_Stuffs/Robert_Heaton/landscape_images"
        dirs = os.listdir(path)
        new_path = Path(path, 'resized_pics')
        new_path.mkdir(parents=True, exist_ok=True)
        #etc.
        
 def concat_rows(self):
        path = "C:/Users/chloe/Desktop/Python_Stuffs/Robert_Heaton"
        new_path_concat = Path(path, 'photomosaic_images_' + im_name)
        new_path_concat.mkdir(parents=True, exist_ok=True)
        counter = 0
        for row in self.match_pixel_img:
            im1_path = os.path.join(self.new_path,row.pop(0))
            os.chdir(self.new_path)
            im1 = Image.open(im1_path)
            #etc.
 

在函数resize中,我创建一个包含新调整大小的图片的新目录,然后在concat_rows我从新目录中获取调整大小的图像并将它们连接起来。但是,我收到此错误:

    File "C:\Users\chloe\Desktop\Python_Stuffs\Robert_Heaton\photomosaic.py", line 95, in concat_rows
    im1 = Image.open(im1_path)

    File "C:\Users\chloe\anaconda3\lib\site-packages\PIL\Image.py", line 2878, in open
    fp = builtins.open(filename, "rb")

    FileNotFoundError: [Errno 2] No such file or directory: 
    'C:\\Users\\chloe\\Desktop\\Python_Stuffs\\Robert_Heaton\\landscape_images\\resized_pics\\'

即使这是我在其中创建的目录,resize我也可以在该确切位置的文件中看到该目录。我正在使用完整路径,所以我真的不确定出了什么问题。此外,当我第二次运行代码时,它工作正常,所以也许这与 Python 读取行的方式有关?

如果有人能提供一些启示,我将不胜感激!

标签: pythonpython-imaging-libraryerrno

解决方案


推荐阅读