2

这是代码(它在类内运行):

if profile['profile_picture']:
    profile['profile_picture_raw_path'], # Line 26
    profile['profile_picture_thumbnail'],
    profile['profile_picture'] = self.picture_path(profile['profile_picture'])

密钥不存在。返回的典型结果picture_path

('//domain.com/218971848/21924823397471f5e4e41a803da17f7c.jpg:large', '//domain.com/profile-images/218971848/21924823397471f5e4e41a803da17f7c.jpg:thumb-100', '//domain.com/profile-images/218971848/21924823397471f5e4e41a803da17f7c.jpg:exact')

如您所见,结果是 3 个元素的元组。

我得到一个错误:

 File "/srv/rwt/production/application/rwt/profile.py", line 26, in load_profile
    profile['profile_picture_raw_path'],
KeyError: 'profile_picture_raw_path'

为什么会出现这个错误?在 Stack Overflow 上搜索了类似的问题,但他们似乎被问及如何通过不存在的键访问字典值。

4

2 回答 2

4

profile['profile_picture_raw_path'],on a line 本身被解析为一个独立的表达式(虽然是一个相当无用的表达式)。

您需要告诉 Python 解释器下一行是表达式的一部分:

profile['profile_picture_raw_path'], \
profile['profile_picture_thumbnail'], \
profile['profile_picture'] = self.picture_path(profile['profile_picture'])
于 2013-03-24T10:57:11.843 回答
1

使用括号

if profile['profile_picture']:
    (profile['profile_picture_raw_path'], # Line 26
    profile['profile_picture_thumbnail'],
    profile['profile_picture']) = self.picture_path(profile['profile_picture'])
于 2013-03-24T12:18:04.830 回答