重命名文件夹中多个文件的最简单方法?

2024-10-01 04:45:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有如下文件名,我需要将其更改为右侧格式

CK-123443-1.dft  - CK-123443.dft
CK-123344-A.dft  - CK-123344.dft
123322-B.dft     - 123322.dft

我尝试使用split('-'),但这并不适用于所有文件,因为有些文件有两个hipen,有些文件有一个hipen。我能不能找到解决这个问题的其他方法

我的代码与re: 我不确定这个重新表达

import re
new = re.sub('-', '.', old)

Tags: 文件方法代码importrenew文件名格式
2条回答

解决方案:

import re
#assuming that your file is called file_name
new_name = re.sub('-[A-Za-z0-9]\.', '.', file_name)
#this replaces the characters after the last hyphen and before the extension.

我认为使用正则表达式可以很容易地做到这一点-在我告诉您要匹配什么模式之前,我需要更清楚地说明您希望名称如何更改-您是否希望保留任何前导字母字符并删除连字符后和扩展名前的所有尾随字符

如果确定目录中的每个文件名都有一个需要删除的连字符,则可以在连字符处拆分,并且只排除最后拆分的部分

比如说:

name, ext = file_name.split('.')  # Get the 'dft' part aside

new_name = ''.join(name.split('-')[:-1]) + f'.{ext}'

相关问题 更多 >