这一点是找到要放入新文件名的零的数量。 比方说,如果dir中有86个文件,我们需要从00(或01)开始文件名,如果有600,001等。
dir_ls = os.listdir(os.getcwd())
# number of zeroes to prefix file number
ln = len(str(len(dir_ls))) - 1
可以,或者这可以做得更好吗? 这种双重转换感觉很愚蠢。
答案 0 :(得分:1)
>>> import math
>>> int(math.ceil(math.log10(86)))
2
>>> int(math.ceil(math.log10(600)))
3
答案 1 :(得分:1)
我认为你根本不做正确的事。
如果您要放置使用'%03.d' % num
等字符串编号的文件,则无法按描述方式获得所需内容。
假设您的目录中已有99个文件,则其名称将从01
开始,以99
结尾。然后,您将创建名为100
的文件,从现在开始,您将尝试将文件命名为001
到999
。而且,当他们同时成为01
和001
个文件时,您就可以了解情况。我认为这不是你想要的。
我建议您在开始为文件编号之前选择合理数量的零,并且永远不要更改它。
最好选择6
位数字并使用模式%06.d
创建数字字符串,因为这样可以在一个目录中创建多于100 000
个不同的文件当你达到这个数量的文件时,你需要将它们保存在单独的文件夹中,以减少文件系统的搜索时间,因此你永远不会需要更多。
此外,发音和记忆6位数字比5位或7位数字更容易。