2017-03-29 10 views
0

ディレクトリA内のnumpyファイルをdiretory Bにコピーする必要があります。多くのディレクトリを1つのディレクトリにマージするにはどうすればいいですか?

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 
+1

は、あなたのコード内で使用すると、このエラーが出るのですか?あなたのコードの 'names = listdir(top)'行はどこにありますか? –

+0

私のために表示されるので、私はエラーを置きます。私はそれがこの行について理解しています:os.walk(list_files_Sorted、topdown = True)のルート、dirs、ファイルの場合: – Guillaume

答えて

1

os.walkは、文字列を取りますが、あなたはリストオブジェクトを渡しています。することはでき徒歩はソートせずにディレクトリ(あなたが独立したコピーOPSを注文する必要がある理由私は表示されません):

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) 
+0

私は注文を保つ必要があります。 – Guillaume

関連する問題