Linux环境下python替换文件夹内所有文件名中特定字符

比如某文件夹下文件名:abcd_efg1214.txtabcmpd_efg1214_efeg1214_1.txtabcmpd_efg1214_efeg1214_2.txt... 比如某文件夹下文件名:

abcd_efg1214.txt
abcmpd_efg1214_efeg1214_1.txt
abcmpd_efg1214_efeg1214_2.txt
......

希望的结果是:
abcd_efg1888.txt
abcmpd_efg1888_efeg1888_1.txt
abcmpd_efg1888_efeg1888_2.txt
......

编程小菜,刚接触,希望给出的编程容易理解,最好给出解释,谢谢
展开
 我来答
Lovesoo
推荐于2016-10-09 · TA获得超过2385个赞
知道小有建树答主
回答量:654
采纳率:66%
帮助的人:411万
展开全部
import glob
import os
def test(fdir,orgs,dsts):
    r=glob.glob(fdir+'*%s*.txt'%orgs) #获取含1214的txt
    print [x for x in r] #打印
    print [x.replace(orgs,dsts) for x in r] #打印替换后的文件名称
    for x in r:
        os.rename(x,x.replace(orgs,dsts)) #文件重命名
    
test('C:/Users/Wei/Desktop/test/','1214','1888')
更多追问追答
追问
谢谢你的帮助!
怎么样修改能变成,提示用户自己输入要操作的文件夹,以及要修改的字符,及修改后的字符?
追答
import glob
import os
def test(fdir,orgs,dsts):
    r=glob.glob(fdir+'*%s*.txt'%orgs) #获取含1214的txt
    print [x for x in r] #打印
    print [x.replace(orgs,dsts) for x in r] #打印替换后的文件名称
    for x in r:
        os.rename(x,x.replace(orgs,dsts)) #文件重命名
    
#test('C:/Users/Wei/Desktop/test/','1888','1314')

fdir=raw_input('请输入要修改的文件夹地址(以/结尾):')
orgs=raw_input('请输入要修改的字符:')
dsts=raw_input('请输入修改后的字符:')

test(fdir,orgs,dsts)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式