2017-01-24 4 views
5

Je souhaite déplacer tous les fichiers texte d'un dossier vers un autre dossier en utilisant Python. J'ai trouvé ce code:Déplacement de tous les fichiers d'un répertoire à un autre en utilisant 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) 

Je voudrais qu'il déplacer tous les fichiers dans le dossier Blob. Je ne reçois pas d'erreur, mais cela ne déplace pas non plus les fichiers.

Répondre

7

Try this ..

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

Cela devrait faire l'affaire. Lisez également le documentation du module shutil pour choisir la fonction qui correspond à vos besoins (shutil.copy(), shutil.copy2(), shutil.copyfile() ou shutil.move()).

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

mais où définiriez-i nouveau destination pour les fichiers txt? – malina

0

S'il vous plaît, jetez un oeil à la mise en œuvre de la fonction copytree qui:

  • fichiers répertoire de liste avec:

    names = os.listdir(src)

  • Copier les fichiers avec:

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

Comment s'y rendre dstname n'est pas nécessaire, parce que si le paramètre de destination spécifie un répertoire, le fichier sera copié dans dst en utilisant le nom du fichier de base de srcname.

Remplacer copy2 par déplacer.

3

Copier le fichier ".txt" d'un dossier à un autre est très simple et la question contient la logique. Seule une partie manquante est substituait des informations droit comme ci-dessous:

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"; 

ci-dessous des lignes de code permet de copier le fichier avec les fichiers d'extension * .txt de src_fldr à dst_fldr

for txt_file in glob.glob(src_fldr+"\\*.txt"): 
    shutil.copy2(txt_file, dst_fldr);