yazgftp 2021-02-27 17:53 采纳率: 80%
浏览 61
已结题

python 去除指定文件及子文件中特定后缀

# 导入包,很重要的

import os

 

"""

# 创建文件夹及文件

os.mkdir("./test")

for i in range(1, 6):

    os.mkdir("./test/test"+str(i))

    fp = open("./test/test"+str(i)+".txt", 'w',encoding='utf-8')

"""

while True:

    print("功能代码:\n1.添加前缀\t2.删除前缀\t3.清除bak fas vlx log 文件")

    sn = input("请选择您的操作代码:")

    profix = input("请输入前缀:")

    path = input("请输入您的文件路径:")

 

    # 获取路径下的所有文件夹及文件

    file_list = os.listdir(path)

    # print(file_list)

    # 遍历所有的文件

    for i in file_list:

        path_flag = os.path.isfile(os.path.join(path, i))

 

        if not path_flag:  # 跳过目录

            continue

 

        # 判断执行的操作.并对非目录的文件进行操作

        if sn == '1':

            # pass  # 添加前缀

            os.rename(os.path.join(path, i), os.path.join(path, profix + i))  # os.path.join(path, profix + i) 连接路径

        elif sn == '2':

            # pass  # 删除前缀

            if i.startswith(profix):

                os.rename(os.path.join(path, i), os.path.join(path, i[len(profix):]))

        elif sn == '3':

            #pass  #  删除bak fas vlx文件

              n = 0

              for  root, dirs, files in os.walk('./'):

                  for name in files:

                    if(name.endswith(".bak") or name.endswith(".fas") or name.endswith(".vlx")

                    or name.endswith(".log")):

                        n += 1

                        print(n)

                        os.remove(os.path.join(root, name))

        else:

              print("执行代码错误!!!")

    else:

        print("执行成功!!")

 

此程序,3,清除项,在程序运行后,输入指定目录后,提示执行成功,但是实际并未删除指定后缀的文件,求大神指教,小弟新人一个,再次先拜谢了

  • 写回答

1条回答 默认 最新

  • 多鱼的夏天 2021-02-28 16:21
    关注

    在os.rename前,print出来源文件和目标文件的文件名,检查一下,估计文件名搞错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月12日
  • 已采纳回答 8月4日

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作