import os
import shutil
import re
#获取指定文件中文件名
def get_filename(filetype):
name =[]
final_name_list = []
source_dir=os.getcwd()#读取当前路径
for root,dirs,files in os.walk(source_dir):
for i in files:
if filetype in i:
name.append(i.replace(filetype,''))
final_name_list = [item +filetype for item in name]
return final_name_list #返回由文件名组成的列表
#筛选文件,利用正则表达式
def select_file(str_cond,file_name_list):
select_name_list =[]
part1 = re.compile(str_cond)#正则表达式筛选条件
for file_name in file_name_list:
if len(part1.findall(file_name)):#判断其中一个文件名是否满足正则表达式的筛选条件
select_name_list.append(file_name)#满足,则加入列表
return select_name_list#返回由满足条件的文件名组成的列表
#复制指定文件到另一个文件夹里,并删除原文件夹中的文件
def cope_file(select_file_name_list,old_path,new_path):
for file_name in select_file_name_list:
shutil.copyfile(os.path.join(old_path,file_name),os.path.join(new_path,file_name))#路径拼接要用os.path.join,复制指定文件到另一个文件夹里
os.remove(os.path.join(old_path,file_name))#删除原文件夹中的指定文件文件
return select_file_name_list
#主函数
def main_function(filetype,str_cond,old_path,new_path):
final_name_list = get_filename(filetype)
select_file_name_list = select_file(str_cond,final_name_list)
cope_file(select_file_name_list,old_path,new_path)
return select_file_name_list file_type = '.csv'#指定文件类型
str_cond = '-Dfn_info-'#正则条件
old_path = 'F:\\data\\text_1'#原文件夹路径
new_path = 'F:\\data\\dfn_info'#新文件夹路径
main_function(file_type,str_cond,old_path,new_path)#主函数

python 将指定文件夹中的指定文件放入指定文件夹中的更多相关文章

  1. django中多个app放入同一文件夹apps

    开发IDE:pycharm 新建一个apps文件夹 需要整理的app文件夹拖到同一个文件夹中,即apps.(弹出对话框,取消勾选Search for references) 在pycharm 中,右键 ...

  2. django中多个app放入同一文件apps

    新建一个apps文件夹 需要整理的app文件夹拖到同一个文件夹中,即apps.(弹出对话框,取消勾选Search for references) 在pycharm中,右键apps文件夹--选择mark ...

  3. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  4. JS对象 指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

    指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. 语法: arrayObject.join(分隔符) 参数说明: 注意:返回 ...

  5. 【C#操作Excel】同名Excel放入同一文件夹中,然后合并为同一个Excel文件

    近期有对Excel操作的需求,由于都是重复劳动,故分享代码如下,本人也是技术菜鸟没有考虑性能,如果有大牛能够指教就再好不过了 事先电脑中需要安装Excel,然后Vs中引用Microsoft.Offic ...

  6. NX二次开发-UFUN将实体放入STL文件中函数UF_STD_put_solid_in_stl_file

    NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...

  7. WPF Prism MVVM 中 弹出新窗体. 放入用户控件

    原文:WPF Prism MVVM 中 弹出新窗体. 放入用户控件 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_37214567/artic ...

  8. JavaScript 将多个引用(样式或者脚本)放入一个文件进行引用

    1.将样式放入一个文件进行引用 @import url("../media/css/bootstrap.min.css"); @import url("../media/ ...

  9. bootstrap中模态框如果放入form表单中会存在的问题

    bootstrap中模态框如果放入form表单中会存在的问题:当模态框显示时,点回车会出现表单自动提交!!!所以在使用模态框的时候要特别注意!

随机推荐

  1. Cookie 与 SessionID 的本质

    当用户首次访问服务器的时候,服务器为每个用户单独创建一个 Session 对象,并分配一个新的 SessionID,此时 SessionID 通过 Cookie 保存在用户端. 当用户再次访问服务器的 ...

  2. 【Java】利用反射执行Spring容器Bean指定的方法,支持多种参数自动调用

    目录 使用情景 目的 实现方式 前提: 思路 核心类 测试方法 源码分享 使用情景 将定时任务录入数据库(这样做的好处是定时任务可视化,也可以动态修改各个任务的执行时间),通过反射执行对应的方法: 配 ...

  3. PIVOT | UNPIVOT_1

    Pivot应用 /* <Microsoft SQL Server 2008 T-SQL Fundamentals (PRO-Developer)> <Microsoft SQL Se ...

  4. 操作-读取excel

    xlrd 该模块主要用来读取excel 注:sheet表示的是excel的表,就是底下的工作栏 (1) 打开excel文件并获取所有sheet import xlrd # 打开Excel文件读取数据 ...

  5. Tensorflow报错:OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized.

    参考: https://github.com/dmlc/xgboost/issues/1715 解决方法: I solved it with 'conda install nomkl'.

  6. WIN10下如何解决PL2303驱动不可用的问题或者com口显示黄色感叹号usb-to-serial

    WIN10下如何解决PL2303驱动不可用的问题或者com口显示黄色感叹号usb-to-serial

  7. 【Spring注解驱动开发】如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!

    写在前面 在[String注解驱动开发专题]中,前面的文章我们主要讲了有关于如何向Spring容器中注册bean的知识,大家可以到[String注解驱动开发专题]中系统学习.接下来,我们继续肝Spri ...

  8. JavaWeb网上图书商城完整项目-数据库操作工具类

    1.首先安装数据库,在windows上安装和在unix上面安装环境不一样,我在自己的本地电脑上安装,安装成功之后,如果使用navicat远程工具访问,需要允许mysql远程能被访问 方法二.直接授权( ...

  9. laravel生成key失败

    laravel生成key失败 生成KEY失败.原因是没有复制.env文件 In KeyGenerateCommand.php line 96: file_get_contents(D:\project ...

  10. .NET高级调试系列-Windbg调试入门篇

    Windbg是.NET高级调试领域中不可或缺的一个工具和利器,也是日常我们分析解决问题的必备.准备近期写2篇精华文章,集中给大家分享一下如果通过Windbg进行.NET高级调试. 今天我们来一篇入门的 ...