【问题标题】:FileNotFoundError: [Errno 2] No such file or directory for pictures on Python 3.7FileNotFoundError: [Errno 2] Python 3.7 上没有此类图片文件或目录
【发布时间】:2020-04-09 09:34:42
【问题描述】:

我是 Python 的初学者。 我尝试打开一张图片来打印它的大小和格式。 我的图片在几个文件夹中:

  • 我的图片
  • 我的 Python 代码文件夹
  • anaconda3\lib\site-packages\PIL的文件夹

我已经只写了图片的名称,然后是确切的路径但没有任何效果(我的图片在.jpg)。

这是我的代码:

from PIL import Image

image = Image.open("v")    
print("nbr of columns and lines", image.size, image.format)
data = list(image.getdata())
print(data[:30]) 

还有我的错误信息:

runfile('C:/Users/Optimal Conseil/.spyder-py3/temp.py', wdir='C:/Users/Optimal Conseil/.spyder-py3') Traceback (最近的 最后调用):

文件“C:\Users\Optimal Conseil.spyder-py3\temp.py”,第 4 行,在 image=Image.open("v")

文件“C:\Users\Optimal Conseil\anaconda3\lib\site-packages\PIL\Image.py",第 2809 行,打开 fp = builtins.open(filename, "rb")

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'v'

【问题讨论】:

  • 没有名为“v”的文件。如果文件与此代码位于同一文件夹中,则应提供完整文件名:然后 image=Image.open("v.jpg") 或提供完整路径

标签: python python-3.7


【解决方案1】:

如果图像文件“v”与您的 python 代码位于同一文件夹中,您的代码应该加载它。该错误表明它缺少该文件。我建议检查文件扩展名(可能文件名是“v.jpg”)。
如果您的文件不在 python 文件夹中并且在不同的文件夹中, 最简单的方法是在图像文件中包含完整地址:

image=Image.open("full_path_to_file/"+"v")

更好的做法是这样的:

import os
image=Image.open(os.path.join("full_path_to_file", "v"))

您也可以使用关系地址来归档。 “../”将带您到当前目录上方的一个目录。比如你的文件目录结构是:

  • 目录
    • |
    • v.jpg
    • 子目录
      • |
      • your_python_code.py

你可以使用:

image=Image.open("../v")

【讨论】:

  • 非常感谢,它与 import os 一起使用,我在括号的开头添加了一个 r。
  • 太棒了。如果答案是正确的,您介意接受它以帮助其他人识别它吗? r'..' 以原始形式解释字符串(按字面解释任何字符),这意味着您的路径地址中可能有需要按字面解释的特殊字符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-13
  • 2019-01-05
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多