2017-01-24 20 views
5

Pythonを使用して、あるフォルダから別のフォルダにすべてのテキストファイルを移動したいとします。私はこのコードを見つけました:Pythonを使用してあるディレクトリから別のディレクトリにすべてのファイルを移動する

import os, shutil, glob 

dst = '/path/to/dir/Caches/com.apple.Safari/WebKitCache/Version\ 4/Blobs ' 
try: 
    os.makedirs(/path/to/dir/Tumblr/Uploads) # create destination directory, if needed (similar to mkdir -p) 
except OSError: 
    # The directory already existed, nothing to do pass 

for txt_file in glob.iglob('*.txt'): 
    shutil.copy2(txt_file, dst) 

Blobフォルダ内のすべてのファイルを移動したいと思います。私はエラーを取得していませんが、ファイルを移動していません。

答えて

7

copytree機能の実装を見取り、

import shutil 
import os 

source = '/path/to/source_folder' 
dest1 = '/path/to/dest_folder' 


files = os.listdir(source) 

for f in files: 
     shutil.move(source+f, dest1) 
1

これはトリックを行う必要があります。また、shutil.copy()、shutil.copy2()、shutil.copyfile()またはshutil.move())のニーズに合った関数を選択するために、shutilモジュールのdocumentationも読んでください。

import glob, os, shutil 

source_dir = '/path/to/dir/with/files' #Path where your files are at the moment 
dst = '/path/to/dir/for/new/files' #Path you want to move your files to 
files = glob.iglob(os.path.join(source_dir, "*.txt")) 
for file in files: 
    if os.path.isfile(file): 
     shutil.copy2(file, dst) 
+0

をdst_fldrする src_fldrから* .txt拡張子のファイルにファイルがコピーされますが、私は新しいの場所を定義しますtxtファイルの宛先? – malina

0

。これをしてくださいしてみてください。

names = os.listdir(src)

:と

  • リストディレクトリファイルを

  • ファイルをコピーします:dstnameを取得

    for name in names: srcname = os.path.join(src, name) dstname = os.path.join(dst, name) copy2(srcname, dstname)

先のパラメータは、ディレクトリを指定した場合、ファイルはから基本ファイル名を使用してDSTにコピーされますので、必要はありませんsrcname

copy2に置き換えてください。

3

".txt"ファイルをあるフォルダから別のフォルダにコピーするのは非常に簡単で、質問には論理が含まれています。唯一の欠けている部分は、以下のように適切な情報で置き換えている:コードの行以下

import os, shutil, glob 

src_fldr = r"Source Folder/Directory path"; ## Edit this 

dst_fldr = "Destiantion Folder/Directory path"; ## Edit this 

try: 
    os.makedirs(dst_fldr); ## it creates the destination folder 
except: 
    print "Folder already exist or some error"; 

for txt_file in glob.glob(src_fldr+"\\*.txt"): 
    shutil.copy2(txt_file, dst_fldr); 
関連する問題