crazyjk00 2021-06-29 15:50 采纳率: 25%
浏览 23
已采纳

我想改文件的名字,但是没成功,请各位看看我写的代码到底哪里有问题

我的python装在了d盘,我想将e:\music文件夹中的文件改名,去掉文件名中的[mqms2],源文件如图

我为此写了一个python程序,但是没成功,厚颜在此请大佬耐心帮我看看,最好能详细指出我的错误。

我个人预估的错误是我的正则表达式写的不对,但是我实在是不会改了。

以下是我的程序

#! python3


import os, shutil,re,time

os.chdir('E:\\music')
rule = re.compile(r"(.*?)-(.*?)(\[mqms2\])$,re.VERBOSE")
listname = []
for filelist in os.listdir('.'):
    name = rule.search(filelist)
    listname.append(filelist)
    if name == None:
        continue
    firstname = name.group(1)
    secondname = name.group(2)
    newname = firstname + '-' + secondname
    abp = os.path.abspath('.')
    filelist = os.path.join(abp,filelist)
    newname = os.path.join(abp,newname)
    #print(newname)
    print('renaming "s%" to "s%"...'%(filelist,newname))
    time.sleep(1)                   #我以为是程序闪的太快没看到,加上去看效果的
    #shutil.move(oldname,new)
    os.rename(oldname,new)
print(listname)         #加上去看效果的
print(filelist)         #加上去看效果的
print('done')
  • 写回答

4条回答 默认 最新

  • 盐湖城 2021-06-29 16:16
    关注
    import os
    
    path = "" #文件夹路径
    files = os.listdir(path)
    path1 = path + "/"
    for file in files:
        old = path1 + file
        new = old.replace("[mqms2]", '')
        os.rename(old, new)

    采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64