2017-01-24 33 views
5

Chcę przenieść wszystkie pliki tekstowe z jednego folderu do innego folderu przy użyciu Pythona. Znalazłem ten kod:Przenoszenie wszystkich plików z jednego katalogu do drugiego przy użyciu 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) 

Chciałbym, aby przenieść wszystkie pliki w folderze Blob. Nie dostaję błędu, ale także nie przenoszę plików.

Odpowiedz

7

Spróbuj ..

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

To powinno wystarczyć. Przeczytaj także documentation modułu shutil, aby wybrać funkcję pasującą do twoich potrzeb (shutil.copy(), shutil.copy2(), shutil.copyfile() lub 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

ale gdzie mogę zdefiniować nowy miejsce docelowe dla plików txt? – malina

0

Proszę spojrzeć na realizację funkcji copytree których:

  • pliki katalogu listę:

    names = os.listdir(src)

  • Kopiowanie plików z:

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

Pierwsze dstname nie jest konieczne, ponieważ jeśli parametr docelowy określa katalog, plik zostanie skopiowany do dst pomocą pliku bazy z srcname.

Wymień copy2 przez przenieś.

3

Kopiowanie pliku ".txt" z jednego folderu do drugiego jest bardzo proste, a pytanie zawiera logikę. Brakuje tylko część zastępując odpowiednie informacje, jak poniżej:

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

poniżej linii kodu skopiuje plik * .txt rozszerzeń plików z src_fldr do dst_fldr

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