Python重命名目录中的多个文件

2024-04-23 18:10:33 发布

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

初学者问题:我正在尝试重命名目录中的所有.xlsx文件。我知道如何将字符串中的一个字符替换为另一个字符,但是删除它呢?更具体地说,我在一个目录中有多个文件:0123_TEST_01,0456_TEST_02。等等,我试图删除文件名中的前缀,这将导致以下结果:TEST_01,TEST_02。在

我正在尝试使用操作系统重命名并将其放入循环中,但不确定是否应该使用len()和一些数学来尝试返回正确的命名约定。下面的代码是我目前的立场。如果这不合理,请告诉我。谢谢。在

import os
import shutil
import glob

src_files = os.listdir('C:/Users/acars/Desktop/b')

for file_name in src_files: 
       os.rename(fileName, filename.replace())

Tags: 文件字符串testimportsrc目录lenos
2条回答

只需在下划线上拆分一次并使用第二个元素,glob还将找到您的所有xlsx文件返回完整路径

from os import path, rename
from glob import glob

src_files = glob('C:/Users/acars/Desktop/b/*.xlsx')
pth = 'C:/Users/acars/Desktop/b/'

for file_name in src_files:         
    rename(file_name, path.join(pth, path.basename(file_name).split("_",1)[1])

如果您只有xlsx文件而没有使用glob,则需要连接以下路径:

^{pr2}$

只需用下划线分割文件名,忽略第一部分,然后重新连接。在

>>> file_name = '0123_TEST_01'

>>> '_'.join(file_name.split('_')[1:])
'TEST_01'

您的代码如下所示:

^{pr2}$

相关问题 更多 >