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

时间:2016-05-13 15:38:45

标签: python string-formatting

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

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

它适用于一个括号,可将{}更改为2016.csv,但

如果我将Year替换为{}r'output.csv\{}\{}.csv'.format(year),则说IndexError: tuple index out of range

1 个答案:

答案 0 :(得分:4)

像这样:

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

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

String Formatting Docs

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