繁体   English   中英

重命名或替换文件夹中的文件

[英]rename or replace the files in a folder

我有一个包含图像的文件夹。 每个图像命名为

abc_001.jpg 
abc_002.jpg 

我需要通过删除第一个文本 abc_ 来重命名图像并从数字开始

我做了

import os

path = '/Desktop/my_folder'

folder = os.fsencode(path)

filenames = []

for file in os.listdir(folder):
    filename = os.fsdecode(file)
    if filename.endswith ('.jpg'):
          filenames=filename.replace('abc_','')

但它不起作用。 如何替换第一个文本或删除它们?

我试过了

for file in os.listdir(folder):
    filename = os.fsdecode(file)
    if filename.endswith ('.jpg'):
        filenames = filename.replace('abc_', '')
        os.rename(filename, filenames)

但得到了

 os.rename(filename, filenames)
FileNotFoundError: [Errno 2] No such file or directory: 'abc_000000000009.jpg' -> '000000000009.jpg'

您可以使用os.rename(source, destination)重命名文件或目录

其中 source 是您的文件路径,destination 是新的文件名路径

您需要使用os.rename(src, dst)而不是filename.replace 如果您有任何问题,请告诉我。

您需要按以下顺序重命名文件:

for file in os.listdir(folder):
    filename = os.fsdecode(file)
    if filename.endswith ('.jpg'):
          new_file_name=filename.replace('abc_','')
           os.rename(filename, new_file_name)

我解决了这个问题,所以遇到相同问题的任何人都可以尝试

for file in os.listdir(folder):
    filename = os.fsdecode(file)
    if filename.endswith ('.jpg'): 
        filenames = filename.replace('abc_', '')
        os.rename(os.path.join(path,filename), os.path.join(path,filenames))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM