字符串末尾的 Percent-S (%s) 有什么用? (不是字符串格式)

What is the use of Percent-S (%s) at the end of strings? (Not string formatting)

我正在尝试为 Jupyter Notebook 配置浏览器,在 .jupyter 配置文件中,我对这一行感到困惑。

字符串末尾的%s是什么意思?

c.NotebookApp.browser = u'open -a chrome.exe %s'

当我在互联网上搜索字符串中的 %s 时,我得到了与字符串格式相关的页面(其中字符串后跟一个额外的 % 变量,以将变量替换为字符串)。 这完全不相关不是吗?

该字符串可能会传递给 sprintf(),它会插入一个字符串参数来代替 %s。参见 man printf

在这种情况下,URL 作为打开命令的参数插入。

配置文件格式的作者决定在这里使用字符串格式,所以你可以在字符串的任何地方插入 URL 参数,而不仅仅是在它的末尾,即:

c.NotebookApp.browser = u'/usr/bin/my_browser -new -url %s -some -more -parameters'

然后在应用程序运行时,URL 参数以字符串格式注入:

shellCmd = config.NotebookApp.browser % targetUrl

很重要。不要删除它。