Bonjour,
je viens vers vous pour avoir un peu d'aide par rapport à un script de backup que je viens de réaliser.
A noter que je suis totalement nul en scriptting, mais je suis là pour apprendre et à l'écoute de votre aide.
Alors pour faire simple voici mon script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
import zipfile
import os.path
import sys
from prompt_toolkit.shortcuts import message_dialog
from datetime import datetime
from pathlib import Path
from prompt_toolkit import prompt
from prompt_toolkit.shortcuts import input_dialog
 
 
 
#################################################################################################
#
#                              SAUVEGARDE LOCALE   
#
#################################################################################################
 
# Dossier à sauvegarder.
dossier_source = 'C:\Data'
 
# Dossier local qui contient les sauvegardes.
dossier_destination = 'C:\Data1'
 
dossier_source_path = Path(dossier_source)
dossier_destination_path = Path(dossier_destination)
 
message_start = "Début de la sauvegarde locale".center(50, '-')
print(message_start)
 
# Vérifie si le dossier de sauvegarde existe, ou sinon le crée.
dossier_destination_path.mkdir(parents=True, exist_ok=True)
 
# Compression ZIP.
backup_file_name = f'Sauvegarde-{datetime.now().strftime("%d-%m-%Y-%H%M%S")}-{dossier_source_path.name}.zip'
zip_file = zipfile.ZipFile(str(dossier_destination_path / backup_file_name), mode='w')
if dossier_source_path.is_file():
    # Sauvegarde d'un fichier
    zip_file.write(
        dossier_source_path.absolute(),
        arcname=dossier_source_path.name,
        compress_type=zipfile.ZIP_DEFLATED
    )
elif dossier_source_path.is_dir():
    # Sauvegarde d'un dossier
    for file in dossier_source_path.glob('**/*'):
        if file.is_file():
            zip_file.write(
                file.absolute(),
                arcname=str(file.relative_to(dossier_source_path)),
                compress_type=zipfile.ZIP_DEFLATED
            )
# Fin de la création du dossier compressé
zip_file.close()
message_end   = "Fin de la sauvegarde locale".center(50,'-')
print(message_end)
Comme vous pouvez le voir, celui-ci est assez simple, mais les chemins de mes dossiers source et destination sont en durs dans le script.
En fait je souhaiterai modifier tout cela afin que tout un chacun puisse l'utiliser en rentrant lui même ses informations via le module prompt_toolkit.
C'est à dire quand exécutant le script l'utilisateur doivent répondre à deux questions concernant les chemins des différents répertoires pour que le script se poursuive.

J’espère avoir été assez clair, sinon je peux éventuellement fournir d autre renseignement.
Merci pour votre aide.