初学者问题:我正在尝试重命名目录中的所有 .xlsx 文件。我了解如何将字符串中的字符替换为另一个字符,但是如何删除呢?更具体地说,我在一个目录中有多个文件:0123_TEST_01、0456_TEST_02。等。我正在尝试删除文件名中的前缀,这将导致以下结果:TEST_01、TEST_02。
我正在尝试使用 os.rename 并将其放入循环中,但不确定我是否应该使用 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())
最佳答案
只需在下划线处拆分一次并使用第二个元素,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,则需要加入路径:
from os import path, rename
from glob import glob
pth = 'C:/Users/acars/Desktop/b'
src_files = os.listdir(pth)
for file_name in src_files:
new = file_name.split("_", 1)[1]
file_name = path.join(pth, file_name)
rename(file_name, path.join(pth, new))
关于Python 重命名目录中的多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34243896/