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

时间:2018-10-23 17:24:15

标签: string-formatting configuration-files

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

%s在字符串末尾的位置是什么?

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

当我在Internet上搜索字符串中的%s时,会得到与字符串格式相关的页面(该字符串后跟一个附加的%变量,以将该变量替换为字符串)。 这是完全无关的吗?

1 个答案:

答案 0 :(得分:2)

该字符串很可能传递给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

这很重要。不要删除它。