Python 随机化文件名,但保留扩展名

Python 随机化文件名,但保留扩展名,python,Python,我正在尝试将目录中的文件名随机化。问题是,重命名后,扩展将消失。为了使新文件名具有其原始扩展名,我需要更改什么 from string import ascii_lowercase from random import choice, randint, random import os def randomize_files(dir): for f in os.listdir(dir): path = os.path.join(dir, f) if os

我正在尝试将目录中的文件名随机化。问题是,重命名后,扩展将消失。为了使新文件名具有其原始扩展名,我需要更改什么

from string import ascii_lowercase
from random import choice, randint, random
import os

def randomize_files(dir):
    for f in os.listdir(dir):
        path = os.path.join(dir, f)
        if os.path.isfile(path):
            newpath = os.path.join(dir, ''.join([choice(ascii_lowercase) for _ in range(randint(5, 8))]))
            os.rename(path, newpath)

randomize_files("/tmp/tset21")

这很正常:如果将文件“abc.txt”重命名为“efg”,则删除扩展名
os.rename
相当于bash中的
mv

相反,您可以这样做:

extension = path.split('.')[-1]
new_name = generate_random_name()
os.rename(path, new_name + '.' + extension)

这很正常:如果将文件“abc.txt”重命名为“efg”,则删除扩展名
os.rename
相当于bash中的
mv

相反,您可以这样做:

extension = path.split('.')[-1]
new_name = generate_random_name()
os.rename(path, new_name + '.' + extension)