Python: 符号 (@) 之间的单词

Python: word between at sign (@)

在我使用的 linux 应用程序之一的 this 脚本中,我看到“@”符号之间的单词,例如 @devel@@gtk_major_version@。 我想知道它们叫什么,它们在 Python 中的功能,以及为什么脚本的扩展名为“.in”而不是“.py”。

如评论中所述,这不是 Python 语法。相反,包含在 @ 中的字符串是模板变量,将由流行的 Meson build system 填充,例如许多项目使用 GTK。

在这种情况下,模板将在构建时用于生成一个名为 piper 的脚本(删除了 .in),类似于 autoconf 使用模板变量从模板生成文件的方式替换为构建系统确定的值。

使用构建配置系统生成 Python 脚本有点不寻常,但也并非闻所未闻。我确定我以前做过同样的事情,尽管是使用 autoconf。