kopiowanie plików odczytując ścieżkę z listy

Odpowiedz Nowy wątek
2018-11-04 14:49
0

Witam, piszę skrypt który pobiera z pliku .txt listę ze ścieżkami do folderów z których ma skopiować pliki, następnie tworzy nowy folder i kopiuje do niego wszystkie pliki ze wskazanych folderów, natrafiłem na problem przy kopiowaniu ponieważ poniższy skrypt kopiuje jedynie pliki z folderu z ostatniej ścieżki zapisanej w pliku.txt wszystkie wcześniejsze pomija, z góry dziękuję za wszelkie porady

import os, datetime, shutil, io, glob

src_dir = []
with io.open('C:\plikiDoSkopiowania\listaDoSkopiowania.txt', encoding='utf-8') as myfile:
    for i in myfile.readlines():
        src_dir.append(i)

new_dir = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
os.mkdir('C:\\plikiSkopiowane\\' + new_dir)
dst_dir = ('C:\\plikiSkopiowane\\' + new_dir)

for i in range(len(src_dir)):
    for file in glob.iglob(os.path.join(src_dir[i], "*.*")):
        shutil.copy(file, dst_dir)

Pozostało 580 znaków

2018-11-04 15:15

readlines() zwraca w poszczególnych liniach również znak końca linii, skrypt próbuje kopiować pliki z folderów o nazwach np. "folder1\n" itd.
Spróbuj użyć myfile.read().splitlines() , albo src_dir = myfile.read().split('\n')
Staraj się żeby skrypt komunikował się z Tobą w minimalnym stopniu.. np. sprawdzał czy folder istnieje i jeżeli nie to wyświetlał stosowny komunikat z nazwą folderu, który szuka. Program sam Ci powie co go boli jeśli mu na to pozwolisz ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0