Python 将文件重命名为顺序字母

Python rename files to sequenced letters

所以我找到了这个 python 脚本,它允许我将目录中的所有文件重命名为一系列数字,同时保持文件的顺序。

import os
import sys

top_dir = os.path.abspath(sys.argv[1])
files = os.listdir( top_dir )

for index,item in enumerate(files):
    if os.path.isdir( os.path.join(top_dir,item) ):
       files.pop(index)

files.sort()

duplicates = []
last_index = None
for index,item in enumerate(files):

    last_index = index
    extension = ""
    if '.' in item:
        extension = '.' + item.split('.')[-1]
    old_file = os.path.join(top_dir,item)
    new_file = os.path.join(top_dir,str(index) + extension  )
    while os.path.isfile(new_file):
          last_index += 1
          new_file = os.path.join(top_dir,str(last_index) + extension  )
    print( old_file + ' renamed to ' + new_file ) 
    os.rename(old_file,new_file)

谁知道我如何更改此脚本以允许重命名过程由使用 3 个字母的 a-z 字母序列组成,顺序为 aaa 到 aaz 到 aza 到 azz 到 zza- 到 zzz

这是你想要的吗?

letters=({a..z}{a..z}{a..z}) j=

for i in *; do
    echo mv "$i" "${letters[j++]}"
done
  • mv "$i" "$i$-{letters[j++]}"(或类似)添加后缀而不是替换整个名称
  • 如果命令看起来没问题,删除 echo 到 运行 它们(再次 运行ning 时,不要忘记重置 j=(空)交互式 shell - 在脚本中不是必需的)