web-dev-qa-db-fra.com

Déplacement de tous les fichiers d'un répertoire à un autre à l'aide de Python

Je souhaite déplacer tous les fichiers texte d'un dossier à un autre à l'aide de Python. J'ai trouvé ce code:

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éplace tous les fichiers dans le dossier Blob. Je ne reçois pas d'erreur, mais cela ne déplace pas non plus les fichiers.

16
malina

Essaye ça..

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)
29
Shivkumar kondi

Copier le fichier ".txt" d'un dossier à un autre est très simple et la question contient la logique. Seule la partie manquante consiste à remplacer par les informations correctes 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";

au-dessous des lignes de code, le fichier avec les fichiers d'extension * .txt sera copié de src_fldr à dst_fldr

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

Cela devrait faire l'affaire. Lisez également la documentation du module shutil pour choisir la fonction qui vous convient (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)
1
Byakko_Haku