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)#主函数

最新文章

  1. Tomcat Server Timeouts属性的设置
  2. 学习下nginx负载均衡--深入理解nginx
  3. 大数据热点问题TOP K
  4. IDispatch error #3092
  5. CodeForces #369 div2 D Directed Roads DFS
  6. RequireJS初探
  7. 关于JFace中的向导式对话框(WizardDialog类)
  8. WebService支持多平台上传文件的实现
  9. 解决mysql 服务无法启动问题:Can't find messagefile 'D:\ ools\mysql-5.6.25-winx64\share\errmsg.sys'
  10. Android 获取唯一标识替代方法
  11. System.Web.Mvc 3.0.0.1 和 3.0.0.0 有什么区别?被 Microsoft ASP.NET MVC 的一次安全更新害惨了!!!
  12. $translate 的用法
  13. IDEA+快捷键
  14. 统计各个数据库的各个数据表的总数,然后写入到excel中
  15. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业
  16. Kafka 文件存储机制那些事 - 美团技术团队
  17. go get golang.org/x 包失败解决方法
  18. 为javascript设置默认参数值
  19. MySQL-通用查询日志
  20. EM算法定义及推导

热门文章

  1. Python中的字段分割
  2. pdb--Python调试器
  3. ubuntu启动打开终端快捷键
  4. SFTP协议生成公共秘钥文件
  5. Linux下安装 Java
  6. Java基础-Java中transient有什么用-序列化有那几种方式
  7. Java前端面试题总结
  8. JAVA相关基础知识
  9. java scoket Blocking 阻塞IO socket通信四
  10. TCP实战二(半连接队列、全连接队列)