python - 从 Python 2.7 到 2.6 的语法转换

标签 python django python-2.7 python-2.6 wagtail

<分区>

这是 Wagtail(具有非常酷的 UI 的 Django 变体 CMS)中的一行。问题是它是为 Python 2.7 编写的,我在共享主机上使用 Python 2.6 和 Django + FastCGI。

我已经更改了先前发现的语法错误 by mhlester 但无法弄清楚这一点:

>>> for attr in json_attrs
  File "<stdin>", line 1
    for attr in json_attrs
                          ^
SyntaxError: invalid syntax

原代码:

 if use_json: # Return a json response
        if search_results:
            search_results_json = []
            for result in search_results:
                result_specific = result.specific

                search_results_json.append({
                    attr: getattr(result_specific, attr)
                    for attr in json_attrs
                    if hasattr(result_specific, attr)
                })

有什么帮助吗?

最佳答案

< Python 2.7 中没有字典解析。相反,您应该将 tuplelist 传递给 dict() 内置函数。

dict((attr, getattr(result_specific, attr)) for attr in json_attrs if hasattr(result_specific, attr))

关于python - 从 Python 2.7 到 2.6 的语法转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22459421/

相关文章:

python - PyODBC : can't open the driver even if it exists

django - 如何更新单行上的单列?

Django排序问题

如果电子邮件存在,django-import-export 更新配置文件

python - Numpy/Scipy "along a path"中的快速线性插值

python - 将另一个模块中的所有变量导入到 python 字典中

python - 解码shift-jis : "illegal multibyte sequence"

python-3.x - 如何让我的脚本选择正确的 python 解释器?

python - 如何在自定义Python记录器中获取进程、线程名称、级别名称

python - 我应该如何阅读堆积的电子表格?