Python 在字符串中的两个位置插入变量
如何在文件路径中的两个位置获取年份字符串Python 在字符串中的两个位置插入变量,python,string-formatting,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)的第二个{},它会显示索引器:元组索引超出范围,如下所示: In [1]: 'output.csv/{0}/{0}.csv'.format(2016) Out
year = str(date.today().year)
filename = r'output.csv\Year\{}.csv'.format(year)
它使用一个括号将{}
更改为2016.csv
但是
如果我将Year
替换为r'output.csv\{}\{}csv.format(Year)
的第二个{}
,它会显示索引器:元组索引超出范围
,如下所示:
In [1]: 'output.csv/{0}/{0}.csv'.format(2016)
Out[1]: 'output.csv/2016/2016.csv'
对于空的花括号,format
仅意味着{}
的每个连续出现对应于您传递的一个位置参数。
如果需要不同的顺序,只需显式指定索引即可
还请注意,我使用斜杠作为分隔符,这被认为是更好的文件路径做法,并且我使用了
int
作为年份(因此您不需要将其转换为str
。@Lev Levitsky我需要它随当前年份而更改,并保留.format(year)
,以便在时间到来时更改为2017年。我没那么清楚sorry@iOSecure只需使用年份
变量即可。我用2016来演示,因为你的问题实际上是关于字符串格式,而不是如何获取当前年份。@Lev Levitsky哦,好的,谢谢你,所以如果我有一个\Month\year
,需要从两个不同的字符串中提取,它将是\{0}\{1}.csv.format(year)(Month)
?@iOSecure在这种情况下,你可以使用索引,太-'\{1}\{0}.csv'.format(year,month)
-请注意我们是如何依次传递年份和月份的,但格式字符串中的索引是1和0-或者您可以按正确的顺序传递它们,而不使用任何索引:'\{}.csv'.format(month,year)
。我添加了一个指向文档的链接以供参考。