在python中重命名多个文件

5 python

我想知道在python中使用re模块重命名多个文件的最简单方法是什么,如果可能的话.

在我的目录中,它们是25个文件,所有文件名的格式为"唯一名称后跟20个相同的字符.mkv"

我想要的是删除所有20个字符.

如果可能的话,我怎么能用Python做到这一点:)

mar*_*cog 6

要获取新名称:

>>> re.sub(r'.{20}(.mkv)', r'\1', 'unique12345678901234567890.mkv')
'unique.mkv'
Run Code Online (Sandbox Code Playgroud)

或者没有正则表达式:

>>> 'unique12345678901234567890.mkv'[:-24] + '.mkv'
'unique.mkv'
Run Code Online (Sandbox Code Playgroud)

要重命名文件,请使用os.rename(old, new):http://docs.python.org/library/os.html#os.rename

要获取要重命名的文件列表,请使用glob.glob('*.mkv'):http://docs.python.org/library/glob.html#glob.glob

把这一切放在一起我们得到:

for filename in glob.glob('*.mkv'):
    if len(filename) > 24:
        os.rename(filename, filename[:-24] + '.mkv'
Run Code Online (Sandbox Code Playgroud)