我有一个类似这样的f-string:
f"foo-{i:03d}"
这段代码是用来生成读入文件的文件名。问题在于有时候有数百个文件,文件名像foo-001、foo-002等,但有时候有数千个文件,需要使用foo-0001和04d格式。是否有一种动态的方法可以解决这个问题?例如,如果我有文件总数作为变量n,那么我可以这样做:
pad = len(str(n))
但是我要如何在f-string中使用那个pad变量呢?
嵌套的f字符串:
>>> pad = 4
>>> i = 1
>>> f"foo-{i:>0{pad}}"
'foo-0001'
不使用f-string,str.zfill()
可能更可取:
"foo-" + str(i).zfill( len(str(n)) )
优点: