gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 17:31:11 25 4
gpt4 key购买 nike

初学者问题:我正在尝试重命名目录中的所有 .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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com