python实现指定文件夹下的指定文件移动到指定位置

yipeiwu_com6年前Python基础

本文主要是写了一个将指定文件夹下的指定文件类型移动到指定位置,具体内容如下

# coding:utf-8
import os
import shutil
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# print os.getcwd()
# 有些文件夹下面有很多文件夹,每个文件夹下面有很多视频文件,现在通过脚本,将文件夹下面的所有文件转移到一个目录下面

# 统计访问的文件夹数量及文件数量
countNum = [0, ]
countFile = [0, ]
# 选择全部移除或者指定后缀名文件


# 查找文件
def move_all_files(dir_path):
 if os.path.exists(dir_path):
  countNum[0] += 1
  # 输出遍历的文件夹数量
  print "*****", countNum[0], "*****"+dir_path
  # 指定文件夹下的所有文件和文件夹
  path_list = os.listdir(dir_path)
  # 遍历
  for each_path in path_list:
   # 如果是文件夹就继续遍历
   print each_path
   if os.path.isdir(dir_path+"\\"+each_path):
    # 移动所有文件到指定目录下面
    src=dir_path+"\\"+each_path
    move_all_files(src)
   else:
    # 如果是指定文件类型,则复制文件
    file_type = os.path.splitext(each_path)[1]
    # 判断是否为选择的文件类型
    selected = False
    if file_type == select_type or select_type == 'All':
     selected = True
    if selected:
     # 复制文件
     src_file = dir_path + "\\" + each_path
     des_file = des_pos + "\\" + each_path
     print "正在复制", each_path
     shutil.copyfile(src_file, des_file)
     # 文件+1
     countFile[0] += 1
 else:
  print "指定路径不存在"


# 需要复制文件的文件夹位置
give_pos = r"C:\Users\lance\Downloads\Java Web编程相关"
# 需要复制到的位置
des_pos = r"C:\Users\lance\Downloads\测试"
# All 或者 指定文件后缀名
select_type = 'All'
# 如果不存在,创建
if not os.path.exists(unicode(des_pos, 'utf-8')):
 os.mkdir(unicode(des_pos, "utf-8"))
# 移动文件
move_all_files(unicode(give_pos, "utf-8"))
print "将文件从****'", give_pos, "'复制到****'", des_pos, "'"
print "共访问了", countNum[0], "个文件夹"
print "共复制了 ", countFile[0], " 个文件"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python数据操作方法封装类实例

本文实例讲述了Python数据操作方法封装类。分享给大家供大家参考,具体如下: 工作中经常会用到数据的插叙、单条数据插入和批量数据插入,以下是本人封装的一个类,推荐给各位: #!/u...

Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例

Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例

本文实例讲述了Python 生成器,迭代,yield关键字,send()传参给yield语句操作。分享给大家供大家参考,具体如下: demo.py(生成器,yield关键字): #...

利用python计算时间差(返回天数)

前言 本文主要给大家介绍了关于python计算时间差(返回天数)的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下: 将时间戳转换成日期格式: im...

Python环境下安装使用异步任务队列包Celery的基础教程

1.简介 celery(芹菜)是一个异步任务队列/基于分布式消息传递的作业队列。它侧重于实时操作,但对调度支持也很好。 celery用于生产系统每天处理数以百万计的任务。 celery是...

Python range、enumerate和zip函数用法详解

前言 range函数可创建一个整数列表。 如果需要知道当前元素在列表中的索引,推荐用enumerate代替range。 zip函数用于同时遍历多个迭代器。 一、range 函数 ra...