使用pythnon判断是否有同名但不同后缀名文件

  • 功能
  • 实现

功能

可以对base_dir下的所有文件进行扫描,并将没有重名的文件转移。
可用于电影,字幕匹配,检查文件对完整性等。

例如:若文件夹内分别有:

  • base_dir

    • dir1

      • img1.jpg
      • img2.jpg
      • img1.json
    • dir2
      • img3.jpg
      • img4.jpg
      • img5.jpg
      • img3.json
    • img6.jpg
    • img7.jpg
    • img4.json

则在运行后会将img1,img3,img4对应的图片移动到目标文件夹。
其中目标后缀名(例中的.jpg和.json)可以自定义。

实现

import os  # 用来读取文件
import shutil  # 用来移动文件base_dir = r'F:\pytest\testDir'  # 照片根目录,会自动递归扫描
aim_dir = r'F:\pytest\testDir\out'  # 目标文件夹,若没有此文件夹会自动创建
suffix = '.png'  # 目标文件后缀名
suffix1 = '.json'  # 重合文件后缀名if not os.path.exists(aim_dir):  # 新建文件夹os.mkdir(aim_dir)# 读取base_dir下的所有文件
ff = []
for path, direction, files in os.walk(base_dir):for file in files:if path != aim_dir:ff.append(os.path.join(path, file))# 将文件名与拓展名切分,保存文件名
fd = [f.split('\\')[-1] for f in ff]# 想输出就把下面注释取消
# for i in ff:
#     if i.endswith(suffix):  # 如果后缀是jpg
#         print(os.path.abspath(i))for each in ff:if each.endswith(suffix):  # 如果是以suffix结尾if not os.path.splitext(each)[0].split('\\')[-1] + suffix1 in fd:  # 如果没有对应名称的suffix1try:shutil.move(each, aim_dir)except shutil.Error:  # 如果多个子文件夹内有相同名称的文件print('有重名文件' + each)

使用python判断同名文件相关推荐

  1. 如何用Python判断一个文件是否被占用?

    今天有同学问,用os模块的access()能否判断一个文件是否被占用?直觉上,这是行不通的,因为access()返回的是文件的读写属性.为了确认这一点,我简单测试了一下. >>> i ...

  2. python判断远程文件是否存在

    如果打印ok,则表示存在 import paramiko client=paramiko.SSHClient() client.load_system_host_keys() client.conne ...

  3. python判断是不是文件夹_Python判断文件和文件夹是否存在的方法

    一.python判断文件和文件夹是否存在.创建文件夹 复制代码代码如下: >>> import os >>> os.path.exists("d:/ass ...

  4. python判断一个文件夹里面是否为空_Python碎片化学习教程 @8. 判断目标文件夹是否为空...

    代码功能:判断目标文件夹是否为空 代码如下:import os  # 导入负责处理操作系统相关事务的os模块 tar_dir = "D:\\666"  # 指定目标文件夹 if l ...

  5. python判断CSV文件是否空

    导入os库 1.判断csv文件是否存在 fileName="time_conf.csv" if os.path.exists(fileName):print("file ...

  6. Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示,python判断复制文件的文件类型

    首先介绍下复制内容类型的几种分类: ['text/plain'] 是纯文本类型. ['text/html', 'text/plain'] 是 html 的格式 + 文本类型,找个网页复制一段文字就可以 ...

  7. Python 技术篇-用os库实现删除本地文件、非空文件夹方法,python判断本地文件、文件夹是否存在方法

    os.remove() 就是删除文件的 os.removedirs() 就是删除文件夹的 os.path.exists() 用来判断文件或文件夹是否存在 import ospath = "D ...

  8. python判断txt文件是否为空_Python中的空值怎么判断

    本文中所有代码均运行在Python 2.7上 在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:if a is None: do something. else: do th ...

  9. python 判断txt文件的编码格式

    import chardetf = open('/path/file.txt',r) data = f.read() print(chardet.detect(data)) 返回值会是类似这样的  一 ...

最新文章

  1. 深度学习(2)基础2 -- 分类:得分函数损失函数(损失、正则化惩罚项、梯度下降、学习率)概率
  2. 待续未完- 自己写后台内容管理程序 - 完全手写不用框架的
  3. Windows Pe 第三章 PE头文件(中)
  4. 总结Movies MVC3教程示例的知识点
  5. 利用QT实现X轴为时间动态显示曲线
  6. 【转】TCP、UDP数据包大小的限制
  7. 在eclipse及myEclipse下安装插件之方法
  8. .NET Core开发日志——从ASP.NET Core Module到KestrelServer
  9. multiprocessing.queue取数据要加锁么_干货 | 小程序多页面接口数据缓存
  10. idea 设置jdk_IDEA开发小技巧~jdk问题
  11. [Hands-on Lab (2) - 使用Helm部署OpenShift应用
  12. VS2012下基于Glut glRotatef glTranslatef示例程序:
  13. asp优化:认识和优化connection对象
  14. [置顶]架构设计之性能设计经验
  15. 程序员如何才能跨过高级级别,譬如腾讯T3.1/阿里P7
  16. linux升级libpng,在Linux中安装libpng-dev以解决pngquant构建失败的问题
  17. ERP系统的操作方法是什么?
  18. 解决VScode输入 英文感叹号+tab键 无法自动生成HTML模板
  19. 好久能旅游?新加坡,一座惬意的城市
  20. Nginx Proxy Cache原理和最佳实践

热门文章

  1. 深入java--与MySQL连接时的时间类问题以及Calendar的用法
  2. Spring+hibernate多数据源多sessionFactory配置
  3. 创建霍夫曼树,霍夫曼编码以及使用霍夫曼编码压缩文件
  4. 2017 CCPC final HDU - 6252 Subway Chasing (差分约束)
  5. CAD绘制导入wall并颗粒分组
  6. 采购订单、采购申请审批策略相关表
  7. 城镇智慧水务平台初步设计方案
  8. 常见的鼠标问题和解决方法
  9. 人工智能导论 --- 绪论
  10. 【AIOQuant量化交易框架】第1讲-高频交易介绍