Python,我想替换一组文件的文件名部分



我想写一个程序,问你想替换什么以及用什么替换它。

我有一大组具有不同扩展名的文件,我想替换文件名的一部分,但我要替换的所有部分都是相同的。我想对文件夹中的每个文件执行此操作

所以我有这样的文件

ABC.txt
gjdABCkg.txt
ABCfg.jpg
ffABCff.exe

只想用我想要的任何 3 个字母替换 ABC我正在使用python 3.2

胡闹着,看看我是否可以让它工作,但我所做的一切都不起作用所以这就是我到目前为止所拥有的。

import os  
directory = input ("Enter your directory")
old = input ("Enter what you want to replace ")
new = input ("Enter what you want to replace it with")

您可能需要添加一些内容,但这是基本思想:

import os
def rename(path,old,new):
    for f in os.listdir(path):
        os.rename(os.path.join(path, f), 
                  os.path.join(path, f.replace(old, new)))

编辑:正如@J.F Sebastian在评论中指出的那样,您可以使用Python 3.3的相对路径(至少在Linux机器上)。

从文档中:

os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)可以支持指定src_dir_fd和/或dst_dir_fd以提供相对于目录描述符的路径。

import os
def rename(path,oldstr,newstr):
    for files in os.listdir(path):
        os.rename(os.path.join(path, files), os.path.join(path, files.replace(oldstr, newstr)))

使用它可以轻松完成您的工作

相关内容

  • 没有找到相关文章

最新更新