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


[python]
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) 

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: 如何复制目录树

 

 

运行结果:

 \
 


 

相关内容

    暂无相关文章

评论关闭