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 - 在脚本中不是必需的)
所以我找到了这个 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 - 在脚本中不是必需的)