gpt4 book ai didi

python - 使用 exec 时,Reposurgeon 给我一个语法错误,为什么?

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:06 24 4
gpt4 key购买 nike

使用reposurgeon并试图扩展其功能,我面临着:

reposurgeon: invalid syntax in extension function

它会转换为从 RepoSurgeon.do_exec() 中的 execfile() 调用引发的 SyntaxError 扩展。是什么赋予了?我尝试 exec 的代码非常简单:

print "Hello world"

我还使用了 Python CLI 和 execfile,没有任何提示吗?

使用版本:reposurgeon 3.10

最佳答案

这个问题花了我一段时间才弄清楚,这就是我将其发布在这里的原因。

关键确实在于我们试图“获取”的一行代码。虽然这是完全有效的 Python 2.x 代码,但 reposurgeon 使用 Python 3.x 中的 print 函数,执行以下操作:

from __future__ import print_function

这会导致 print 要求使用括号,因为它使 print 成为函数而不是语句。

显然,我们是在 reposurgeon 的上下文中运行扩展代码,这意味着我们依赖于它定义的规则。

参见this document .

因此以下内容可以正常工作:

print("Hello world")

关于python - 使用 exec 时,Reposurgeon 给我一个语法错误,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25146005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com