当我使用exec的时候,医生给了我一个语法错误,为什么?

2024-10-04 05:22:39 发布

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

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

reposurgeon: invalid syntax in extension function

它转换为从RepoSurgeon.do_exec()中的execfile()调用引发的SyntaxError扩展名。有什么好处?我尝试exec的代码非常简单:

print "Hello world"

我还使用了pythoncli和execfile,没有任何抱怨?你知道吗

使用版本:reposurgeon3.10


Tags: 代码in功能helloextensionfunctiondoexec
1条回答
网友
1楼 · 发布于 2024-10-04 05:22:39

这一个我花了一段时间才弄明白,这就是为什么我把它贴在这里。你知道吗

关键确实在于我们试图“源代码”的一行代码。虽然这是非常有效的Python2.x代码,reposurgeon使用Python3.x中的print函数,方法如下:

from __future__ import print_function

这使得print需要使用括号,因为它使print成为函数而不是语句。你知道吗

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

this document。你知道吗

因此,以下方法可以很好地工作:

print("Hello world")

相关问题 更多 >