前缀文件号的零个数

时间:2011-12-14 08:02:44

标签: python

这一点是找到要放入新文件名的零的数量。 比方说,如果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

可以,或者这可以做得更好吗? 这种双重转换感觉很愚蠢。

2 个答案:

答案 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的文件,从现在开始,您将尝试将文件命名为001999。而且,当他们同时成为01001个文件时,您就可以了解情况。我认为这不是你想要的。

我建议您在开始为文件编号之前选择合理数量的零,并且永远不要更改它。

最好选择6位数字并使用模式%06.d创建数字字符串,因为这样可以在一个目录中创建多于100 000个不同的文件当你达到这个数量的文件时,你需要将它们保存在单独的文件夹中,以减少文件系统的搜索时间,因此你永远不会需要更多。

此外,发音和记忆6位数字比5位或7位数字更容易。