如何在python列表中编写if else条件?

2024-04-23 16:31:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了图像的像素大小,我需要在像素处写一个if条件

如果jpg或tiff:做点什么 否则为“0,0”

我怎么写下面的代码?你知道吗

def get(self, request, **response_kwargs):    

    main_request = MediaRequest.objects.get(request_unique_id=self.kwargs['request_unique_id'])

    files = MediaFile.objects.filter(request=main_request)

    files_list = []

    for media_file in files:
        files_list.append ({
                'preview' : "/render/" + str(main_request.request_unique_id) + "/" + media_file.filename,        
                'name' : media_file.filename,        
                'status' : media_file.status,
                'comment' : media_file.comment,
                'id':media_file.id,
                'pixel' : 
                           if "jpg" not in media_file.filename:
                              Image.open(settings.MEDIA_ROOT + main_request.request_unique_id + "/"+ media_file.filename).size
                           else:
                               return '0, 0'
            })

Tags: selfidgetifobjectsmainrequest像素
2条回答
 'pixel' : Image.open(settings.MEDIA_ROOT + main_request.request_unique_id 
+ "/"+ media_file.filename).size if ("JPG" in media_file.filename.upper()) 
or ("TIF"  in media_file.filename.upper())  else '0, 0'}

请参阅三元运算符(或条件表达式):"X if C else Y"

https://www.python.org/dev/peps/pep-0308/

for media_file in files:
    files_list.append ({
            'preview' : "/render/" + str(main_request.request_unique_id) + "/" + media_file.filename,        
            'name' : media_file.filename,        
            'status' : media_file.status,
            'comment' : media_file.comment,
            'id':media_file.id,
            'pixel' : Image.open(settings.MEDIA_ROOT + main_request.request_unique_id + "/"+ media_file.filename).size if "jpg" not in media_file.filename else '0, 0'
        })

相关问题 更多 >