为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕少森 2022-08-16 10:04:01
我在Python,Django框架中编写了以下代码:class ImageGenerator:    def __init__(self, tip):        self.tip = tip    def remove_transparency(self, im, bg_colour=(250, 250, 250)):        if im.mode in ('RGBA', 'LA') or (im.mode == 'P' and 'transparency' in im.info):            alpha = im.convert('RGBA').split()[-1]            bg = Image.new("RGBA", im.size, bg_colour + (255,))            bg.paste(im, mask=alpha)            return bg        else:            return im    def generate(self):        print('Triggered')        border = 3        home_url = self.tip.fixture.home.image_url        away_url = self.tip.fixture.away.image_url        home_name = self.tip.fixture.home.name        away_name = self.tip.fixture.away.name        response = requests.get(home_url)        home = self.remove_transparency(Image.open(BytesIO(response.content)))        home_w, home_h = home.size        response = requests.get(away_url)        away = self.remove_transparency(Image.open(BytesIO(response.content)))        away_w, away_h = away.size        background_image = Image.open('/static/background.jpg', 'r')当我执行此代码时,我收到以下错误:FileNotFoundError at /fixtures/view/54848[Errno 2] No such file or directory: '/static/background.jpg'Request Method:     POSTRequest URL:    http://127.0.0.1:8000/fixtures/view/54848Django Version:     3.0.3Exception Type:     FileNotFoundErrorException Value:    [Errno 2] No such file or directory: '/static/background.jpg'Exception Location:     /home/sander/.local/lib/python3.6/site-packages/PIL/Image.py in open, line 2809Python Executable:  /usr/bin/python3Python Version:     3.6.9Python Path:    ['/home/sander/git/football', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/sander/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']Server time:    Fri, 28 Feb 2020 18:56:54 +0000我尝试使用.这将产生相同的错误。该命令也无法解决问题。staticfrom django.templatetags.static import staticcollectstatic有人知道这个问题的解决方案吗?
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我认为您的代码在行中断开:

    background_image = Image.open('/static/background.jpg', 'r')

由于您在路径的开头使用斜杠,因此Python会尝试在文件系统中将此文件查找为绝对路径。确保它在那里编写时存在。

您可以尝试使用完整的绝对路径,但最佳做法是使用相对路径。


查看完整回答
反对 回复 2022-08-16
  • 1 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号