我需要按照时间顺序将目录A中的numpy文件复制到目录B中。
import os
import shutil
DestFolder = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4'
SrcFolder = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4_1'
os.chdir(SrcFolder)
list_files_Without_Sort=os.listdir(os.getcwd())
list_files_Sorted=sorted((list_files_Without_Sort),key=os.path.getmtime)
for root, dirs, files in os.walk(list_files_Sorted, topdown=True):
for name in files:
SourceFolder = os.path.join(root,name)
shutil.copy2(SourceFolder, DestFolder)
它给了我这个错误:
names = listdir(top)
TypeError: coercing to Unicode: need string or buffer, list found
答案 0 :(得分:1)
os.walk
接受一个字符串,但您正在传递一个列表对象。你可以走目录而不进行排序(我不明白为什么你需要订购独立的复制操作):
import os
import shutil
destfolder = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4'
srcfolder = 'D:\\Traces_Copie\\Simulations\\Traces4\\Trace4_1'
for root, dirs, files in os.walk(srcfolder, topdown=True):
for name in files:
src = os.path.join(root, name)
shutil.copy2(src, destfolder)