python 拷贝文件夹下所有的文件到指定文件夹(不包括目录)

时间:2022-08-02 06:43:56

1.随便简单些写了一下。直接粘结代码,只是简单的实现一下,还很多需要完善和扩展的地方,比如忽略掉后缀文件,删除文件

  如果排除的某些的话可以用:

  sourceF.find('.后缀')>0

2.注意路径格式。。

 如果有中文路径的话,可能报错,我的解决方案:

 编码为utf8, #coding:utf-8

当前脚本是指定目录下,所有的文件(包含子目录),拷贝到一个目录下。

源码:text.py

#coding:utf-8
#2015.5.8
import os
import os.path
import shutil

RootDir = "D:/Work/美术资源/手游动画" # Your root
TargetDir = "D:/Work/Code/project/cardgame/res/aninew" #Your target root

boss_dir = os.path.join(RootDir, "boss")
friend_dir = os.path.join(RootDir, "friend")
monster_dir = os.path.join(RootDir, "monster")

def copy_file(sourceDir, targetDir):
for f in os.listdir(sourceDir):
sourceF = os.path.join(sourceDir,f)
targetF = os.path.join(targetDir,f)
if os.path.isfile(sourceF):
do_copy_file(sourceF,targetF)
print sourceF
if os.path.isdir(sourceF):
copy_file(sourceF,TargetDir)

def do_copy_file(src_file, dst):
shutil.copy(src_file, dst)

if __name__=="__main__":
copy_file(boss_dir,TargetDir)
copy_file(friend_dir,TargetDir)
copy_file(monster_dir,TargetDir)

拷贝层级如果需要完全相同的话,需要创建文件夹,上面的代码判断是文件夹的时候,创建一下就可以.(os.mkdri(路径))

再贴一个写的测试bat

@echo off
echo startCopy
set rootDir="D:\PackerImg\CopyTest\from"
xcopy %rootDir% D:\PackerImg\CopyTest\To\ /s /y /D
pause

xcopy参数去网上自己查。xcopy拷贝文件目录 copy拷贝单个文件。看个人需求