我有一個目錄/ a/b/c,它有文件和子目錄。 我需要複製/ x/y/z目錄中的/ a/b/c/*。我可以使用哪些python方法?將目錄內容複製到python目錄下
我試過shutil.copytree("a/b/c", "/x/y/z")
,但python試圖創建/ x/y/z並引發一個error "Directory exists"
。
我有一個目錄/ a/b/c,它有文件和子目錄。 我需要複製/ x/y/z目錄中的/ a/b/c/*。我可以使用哪些python方法?將目錄內容複製到python目錄下
我試過shutil.copytree("a/b/c", "/x/y/z")
,但python試圖創建/ x/y/z並引發一個error "Directory exists"
。
我發現此代碼正常工作。
from distutils.dir_util import copy_tree
# copy subdirectory example
fromDirectory = "https://stackoverflow.com/a/b/c"
toDirectory = "/x/y/z"
copy_tree(fromDirectory, toDirectory)
您還可以使用glob2遞歸收集所有路徑(使用**子文件夾通配符),然後使用shutil.copyfile,保存路徑
python libs已過時此功能。我做了一個可以正常工作的方法:
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('..')
你想移動或複製目錄嗎?你的標題說移動,但你的內容說複製。由於這些是兩個不同的事情,所以你的意思究竟是哪一個。 – 2013-02-22 22:37:15
也許舉一個前後的例子,讓它更清楚你想要的效果是什麼,以及? – Xymostech 2013-02-22 22:39:44
感謝您的評論,我會更新標題。這是複製,而不是移動。 – prosseek 2013-02-22 22:39:47