Python kopiuje określone pliki z listy do nowego folderu
Próbuję zmusić mój program do odczytania listy nazw z pliku (powiedzmy. Txt), a następnie znalezienia ich w wybranym folderze i skopiowania i wklejenia tych plików do innego wybranego folderu. Mój program działa bez błędów, ale nic nie robi:
Zaktualizowano kod
:
import os, shutil
from tkinter import filedialog
from tkinter import *
root = Tk()
root.withdraw()filePath = filedialog.askopenfilename()
folderPath = filedialog.askdirectory()
destination = filedialog.askdirectory()filesToFind = []
with open(filePath, "r") as fh:
for row in fh:
filesToFind.append(row.strip())#Added the print statements below to check that things were feeding correctly
print(filesToFind)
print(folderPath)
print(destination)#The issue seems to be with the copy loop below:
for target in folderPath:
if target in filesToFind:
name = os.path.join(folderPath,target)
print(name)
if os.path.isfile(name):
shutil.copy(name, destination)
else:
print ("file does not exist", name)
print(name)
Aktualizacja działa bez błędów, ale nie przenosi żadnych plików.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
W przeciwnym razie praktycznie nie wiadomo, skąd kopiujesz swoje pliki, być może z bieżącego folderu i dlaczego musiałeś wcześniej wpisać , jeśli go nie używasz.
Nawiasem mówiąc, jest słowem zastrzeżonym w Pythonie, zalecałbym użycie innej nazwy dla zmiennej, która nie jest taka sama jak zarezerwowane słowa w Pythonie.
Anonimowy użytkownik
Potwierdzenie od:
Pierwsza pętla obejmuje każdą nazwę pliku w katalogu, co jest całkiem zrozumiałe.
Drugie to błąd, ponieważ nie istnieje. Co postanowiłeś zrobić?
Anonimowy użytkownik
Potwierdzenie od:
Uwaga - w odczytywanym pliku należy podać rozszerzenie pliku. Dziękuję @lenik i @John Gordons za pomoc w osiągnięciu tego celu! Czas go ulepszyć, aby był bardziej przyjazny dla użytkownika