如何在更改文件名时“不”更改文件扩展名?

Kab2k

我正在尝试从文件名中删除数字。但是这样做也会删除扩展名,mp4文件变成mp有什么好的解决方案来解决这个问题?

import os

def file_rename():
    name_list=os.listdir(r"C:\Users\caspe\OneDrive\Documents\Övrigt\Kodning\Twitch")
    print(name_list)
    saved_path=os.getcwd()
    print("Current working directory is"+saved_path)
    os.chdir(r"C:\Users\caspe\OneDrive\Documents\Övrigt\Kodning\Twitch")

    for file_name in name_list:
        print("old name"+file_name)
        print("new name"+file_name.strip("0123456789"))
        os.rename(file_name, file_name.translate(str.maketrans('','','0123456789-')))
    os.chdir(saved_path)

file_rename()
np8

您可以使用pathlib.Path对象。它具有namesuffix属性,以及一个重命名方法:

import re
from pathlib import Path
for file in Path(r'C:\tmp').glob('*'):
    if not file.is_file():
        continue
    new_name = re.sub('\d','', file.stem) + file.suffix
    file.rename(file.parent/new_name)

parent属性提供文件所属的文件夹,该is_file方法用于检查我们是否正在处理常规文件(而不是文件夹)。使用/操作员可以轻松创建新的路径对象(完整的新文件路径为file.parent / new_name)。

所述re.sub()用于替换的数字(\d在旧文件名手段一个数字)stem的一部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将文件名更改为大写,将扩展名更改为小写?

来自分类Dev

如何更改多个文件的扩展名?

来自分类Dev

如何更改文件的扩展名

来自分类Dev

如何在Qt上更改文件扩展名

来自分类Dev

更改文件扩展名

来自分类Dev

上载文件名更改后,如何在img src目录中添加扩展名?

来自分类Dev

文件夹上的gzip而不更改文件扩展名

来自分类Dev

文件夹上的gzip而不更改文件扩展名

来自分类Dev

更改文件扩展名并跟踪更改

来自分类Dev

如何同时更改现有文件的文件扩展名

来自分类Dev

PHP文件上传更改文件名保持扩展名

来自分类Dev

使用括号扩展来更改文件名,而不是扩展名?

来自分类Dev

Grunt:在构建时更改文件扩展名

来自分类Dev

更改文件扩展名 VBA 时出错

来自分类Dev

如何在不更改扩展名的情况下重命名目录中的许多文件?

来自分类Dev

Git自动更改文件扩展名

来自分类Dev

批量更改文件扩展名

来自分类Dev

bash更改文件扩展名的问题

来自分类Dev

更改gradle中的文件扩展名

来自分类Dev

尝试更改多个文件的扩展名

来自分类Dev

批量更改文件扩展名

来自分类Dev

循环更改文件的扩展名

来自分类Dev

更改文件名,如何?

来自分类Dev

如何在XP中更改多个文件的文件扩展名?

来自分类Dev

如何更改文件扩展名的默认图标?

来自分类Dev

如何更改文件扩展名的默认图标?

来自分类Dev

如何更改不同文件类型的扩展名

来自分类Dev

如何更改扩展名错误的1个文件?

来自分类Dev

如何更改目录中所有文件的扩展名?