Fondamentalement, ce que je veux faire dans mon script est de copier des fichiers de dest_path vers source_path. Vous pouvez le configurer et voir comment cela fonctionne -Mon script Python ignore les fichiers lors de la copie
Mais pour une raison quelconque, il copie le premier fichier et me dit que le reste est déjà copié, ce qui n'est pas vrai. Y at-il quelque chose que je ne vois pas ou que j'ai mal fait? im assez nouveau pour python désolé si je faisais quelque chose de mal évidemment, je ne peux pas le voir ...
import time, shutil, os, datetime
source_path = r"C:\SOURCE" # Your Source path
dest_path = r"C:\DESTINATION" # Destination path
file_ending = '.txt' # Needed File ending
files = os.listdir(source_path) # defines
date = datetime.datetime.now().strftime('%d.%m.%Y') # get the current date
while True:
print("Beginning checkup")
print("=================")
if not os.path.exists(source_path or dest_path): # checks if directory exists
print("Destination/Source Path does not exist!")
else:
print("Destination exists, checking files...")
for f in files:
if f.endswith(file_ending):
new_path = os.path.join(dest_path, date,)
src_path = os.path.join(source_path, f)
if not os.path.exists(new_path): # create the folders if they dont already exists
print("copying " + src_path)
os.makedirs(new_path)
shutil.copy(src_path, new_path)
else:
print(src_path + " already copied")
# shutil.copy(src_path, new_path)
print("=================")
print('Checkup done, waiting for next round...')
time.sleep(10) # wait a few seconds between looking at the directory
'sinon os.path.exists (chemin_source ou chemin_dest):' ne fait pas ce que vous pensez. 'ou' ne fonctionne pas de cette façon. – user2357112
également 'si non os.path.exists (new_path)' sera vérifié pour chaque fichier dans 'source_path' et seul le premier fichier entrera dans ce bloc, puisque vous créez le' new_path' dans la première fois à travers – depperm
Vous voyez new_path = os.path.join (chemin_dest, date,) était en fait new_path = os.path.join (chemin_dest, date, f), mais cela créerait un autre dossier pour chaque fichier copié. Ce n'est pas ce que je voulais, alors j'ai supprimé le f et maintenant il le fait. Comment puis-je résoudre ce @deppem – diatomym