import shutil
import os
import os.path

#note:src's file unnecessary to be exist
src="D:\\360Downloads\\testFile1\\folder99\\testFile1.txt"
dst = "D:\\360Downloads\\testFile1\\folder3\\testFile1_dst.txt"
dst2="D:\\360Downloads\\testFile1\\folder3\\testFile1_dst2.txt"

dir1=os.path.dirname(src)

print("dir1 %s "% dir1)

if(os.path.exists(src)== False):
os.makedirs(dir1)

f1 = open(src,"w")
f1.write("line a\n")
f1.write("line b\n")
f1.close()

# test copy file
shutil.copyfile(src,dst)
shutil.copyfile(src,dst2)

f2=open(dst,"r")
for line in f2:
print(line)

f2.close()

# test copy folder Tree

try:
srcDir="D:\\360Downloads\\testFile1"
dstDir="D:\\360Downloads\\testFile99"
shutil.copytree(srcDir,dstDir)
print("copy sucess")
except Exception as err:
print(err)


注意: 运行第一遍,会出现 copy sucess; 运行第二遍, copytree 会报错,因为 目标目录已存在

知识点 :

* shutil.copyfile: 如何复制文件

* os.path.exists: 如何判断文件夹是否存在

* shutil.copytree: 如何复制目录树


运行结果:

python 3.3 复制文件 或 文件夹及其子文件夹 小例_复制文件