用python将目录内容复制到一个目录
我有一个目录/ a / b / c有文件和子目录。 我需要复制/ x / y / z目录中的/ a / b / c / *。 我可以使用哪些python方法?
我尝试了shutil.copytree("a/b/c", "/x/y/z")
,但python试图创build/ x / y / z并引发一个error "Directory exists"
。
我发现这个代码工作。
from distutils.dir_util import copy_tree # copy subdirectory example fromDirectory = "/a/b/c" toDirectory = "/x/y/z" copy_tree(fromDirectory, toDirectory)
您也可以使用glob2recursion地收集所有path(使用**子文件夹通配符),然后使用shutil.copyfile,保存path
glob2链接: https ://code.activestate.com/pypm/glob2/
Python的库已经过时了这个function。 我做了一个正确的工作:
import os import shutil def copydirectorykut(src, dst): os.chdir(dst) list=os.listdir(src) nom= src+'.txt' fitx= open(nom, 'w') for item in list: fitx.write("%s\n" % item) fitx.close() f = open(nom,'r') for line in f.readlines(): if "." in line: shutil.copy(src+'/'+line[:-1],dst+'/'+line[:-1]) else: if not os.path.exists(dst+'/'+line[:-1]): os.makedirs(dst+'/'+line[:-1]) copydirectorykut(src+'/'+line[:-1],dst+'/'+line[:-1]) copydirectorykut(src+'/'+line[:-1],dst+'/'+line[:-1]) f.close() os.remove(nom) os.chdir('..')