在两个位置的字符串中插入变量

Insert variable within a string in two locations

如何在我的文件路径中的两个位置获取年份字符串

year = str(date.today().year)
filename = r'output.csv\Year\{}.csv'.format(year)

它使用一个括号将 {} 更改为 2016.csv 但是

如果我用第二个 {} 替换 Yearr'output.csv\{}\{}.csv'.format(year) 它说 IndexError: tuple index out of range

像这样:

In [1]: 'output.csv/{0}/{0}.csv'.format(2016)
Out[1]: 'output.csv/2016/2016.csv'

使用空大括号时,format 仅表示 {} 的每个连续出现都对应于您传递的位置参数之一。 如果您想要不同的顺序,只需明确指定一个索引即可。

String Formatting Docs

另请注意,我使用斜杠作为分隔符,这被认为是文件路径的更好做法,并且我使用 int 作为年份(因此不需要转换为 str)。