Sommario:
- Passaggio 1: installazione di Python e dipendenze
- Passaggio 2: lo script Python
- Passaggio 3: creazione di.exe
- Passaggio 4: esecuzione automatica
- Passaggio 5: AGGIORNAMENTO 15 GENNAIO 2020 - Scarica il programma
Video: Sincronizzare le cartelle con Python: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Questa istruzione ti mostrerà come mantenere sincronizzate due cartelle (e tutte le cartelle al loro interno) in modo che una sia una copia diretta dell'altra. Ideale per eseguire il backup del lavoro sia localmente, su un server cloud/di rete o su un'unità USB. Non è necessaria alcuna esperienza di programmazione per completare questo tutorial. Tieni presente che funziona solo con Windows sebbene il processo sia simile su Mac e Linux.
Ho un vecchio computer Windows che ho configurato fungendo da server per varie funzioni, una delle quali è uno storage collegato alla rete economico che funge sia da server multimediale che da backup di tutti i dati del computer della mia famiglia.
Poiché alla mia famiglia piace lavorare localmente sui propri PC, avevamo bisogno di un modo semplice per eseguire regolarmente il backup dei nostri dati. Avevo anche bisogno di un modo per raddoppiare il backup implementando un approccio simile a un RAID su due dischi rigidi sul PC server. Inoltre non volevo pagare per nessun software (sì lo so avaro di me). Di conseguenza, tutto il software gratuito tende a presentare pop-up o addirittura a rallentare il PC con lunghi tempi di sincronizzazione e un grande utilizzo della CPU, il che era semplicemente fastidioso.
Pertanto, con un piccolo sforzo, ho scritto uno script Python che sincronizzerebbe le cartelle di cui tutti avevamo bisogno. Potrei quindi personalizzarlo e distribuirlo alla famiglia come eseguibile che potrei impostare Windows per l'esecuzione regolare in background. L'utente del computer non doveva essere più saggio.
Passaggio 1: installazione di Python e dipendenze
Per creare il programma distribuibile devi installare python sul tuo computer. Per farlo segui il link web qui https://www.python.org/downloads/ e scorri verso il basso fino a trovare la versione che desideri. Nota: Sfortunatamente, al momento della scrittura il modulo pyinstaller che useremo non funziona ancora con python 3.8 quindi dovrai usare una versione compatibile di python (3.5-3.7).
Segui l'installazione assicurandoti di selezionare la casella di controllo "Aggiungi al PERCORSO".
Una volta installato, apri un prompt dei comandi e installa i moduli Python di cui abbiamo bisogno, per fare questo digita quanto segue e segui tutti i prompt come richiesto:
pip install pyinstaller
pip install dirsync
Passaggio 2: lo script Python
Lo script è carino e semplice, solo due righe, copia e incolla quanto segue in IDLE (installato con Python) o nel blocco note e salva come "DirectorySync.py":
da dirsync import sync
sync('C:\FOLDER_A', 'E:\FOLDER_B', 'sync', purge = True)
Assicurati di cambiare le due cartelle sopra con le due cartelle che desideri sincronizzare. La doppia barra rovesciata è richiesta nel nome del percorso poiché la barra rovesciata è un carattere di escape in Python.
La prima riga importa il modulo dirsync che abbiamo installato in precedenza.
Il secondo esegue la sincronizzazione. La prima cartella è la cartella di origine e la seconda è la destinazione, la 'sincronizzazione' indica alla funzione di sincronizzazione quale modalità di sincronizzazione implementare. L'aggiunta di purge=True indica alla funzione di eliminare qualsiasi cosa nella cartella di destinazione che non si trova più nella cartella di origine. Ci sono altre opzioni che possono essere implementate a seconda delle tue esigenze.
Il modo in cui è configurato sopra sincronizzerà anche tutte le cartelle all'interno della cartella di livello superiore, questo può essere interrotto se necessario. Se vuoi sincronizzare più di una cartella di primo livello, aggiungi semplicemente più righe al tuo codice con la funzione sync(). Per ulteriori opzioni e assistenza, vedere il seguente collegamento:
pypi.python.org/pypi/dirsync/2.2.2
Passaggio 3: creazione di.exe
Per creare l'eseguibile dobbiamo ora tornare al prompt dei comandi.
Digita quanto segue sostituendo il percorso della cartella con la route allo script DirectorySync.py che abbiamo creato nell'ultimo passaggio:
pyinstaller -F -w C:/Route_to_your_folder/DirectorySync.py
Nella posizione della cartella del tuo script python questo crea una serie di cartelle: _pycache_, build, dist e altri due file. Nella cartella dist c'è ora un file chiamato DirectorySync.exe, l'esecuzione di questo eseguirà la sincronizzazione in background. Questo file può essere distribuito così com'è a chiunque e possono quindi eseguire una sincronizzazione senza dover installare Python sul computer.
Per spiegare cosa sta succedendo nel testo BOLD che è stato digitato nel prompt dei comandi:
'pyinstaller' dice al computer di usare il modulo pyinstaller che abbiamo scaricato in precedenza
'-F' è un'opzione che dice a pyinstaller di generare solo un eseguibile e non una serie di cartelle che dovrebbero anche essere distribuite.
'-w' è un'opzione che dice al computer di non visualizzare un prompt dei comandi ogni volta che esegue lo script.
Il percorso è il percorso dello script Python.
Per ulteriori opzioni e assistenza, vedere il collegamento seguente:
pyinstaller.readthedocs.io/en/stable/usage…
Passaggio 4: esecuzione automatica
Ora sei pronto per sincronizzare qualsiasi cartella senza dover copiare, incollare ed eliminare ripetutamente semplicemente facendo doppio clic sull'eseguibile. Ma vogliamo fare un passo in più e fare in modo che Windows esegua il processo automaticamente in modo che tu non debba preoccuparti.
Per fare ciò utilizzeremo il programma Utilità di pianificazione fornito con Windows, questo processo è basato su Windows 10 ma è quasi identico su altre piattaforme Windows.
- Apri l'Utilità di pianificazione dal menu di avvio.
- Sul lato destro seleziona "Crea attività" dal menu.
- Dagli un nome e una descrizione e in fondo assicurati che sia configurato per il sistema operativo corretto.
- Nella scheda "Trigger", crea un nuovo trigger facendo clic su "Nuovo" in basso a sinistra, nel nuovo popup seleziona la configurazione desiderata, ho scelto di iniziare l'attività all'accesso e ripetere ogni ora così so che avere un backup del mio lavoro ogni ora. Fare clic su OK.
- Nella scheda "Azioni" crea una nuova azione allo stesso modo. L'azione di cui abbiamo bisogno è avviare un programma che è l'impostazione predefinita. Sfoglia l'eseguibile che abbiamo creato in precedenza e seleziona. NOTA: se si sposta l'eseguibile dopo aver creato l'attività, l'attività e quindi la sincronizzazione non verranno completate.
- Nella scheda "Condizioni" deseleziona le impostazioni di alimentazione in modo che funzioni a batteria e sia collegato.
- Fai clic su OK e ora hai creato la tua attività.
Riavvia il computer e dopo un po' controlla la posizione della cartella di destinazione e vedi che la sincronizzazione ha funzionato, tieni presente che se hai una cartella di grandi dimensioni, la sincronizzazione potrebbe richiedere del tempo per copiare tutte le cartelle la prima volta.
Questo è il tutorial completo, spero che lo trovi utile, qualsiasi domanda, fammi sapere.
Passaggio 5: AGGIORNAMENTO 15 GENNAIO 2020 - Scarica il programma
Uso ancora questo programma che mi è servito bene Tuttavia mi è stato spesso chiesto da persone di eseguire una sola volta la sincronizzazione manuale di lavori per cartelle diverse, ecc. Pertanto ho pensato di aggiornare questo Instructable con un collegamento a un programma che ho creato per fare il lavoro. Fornisce un'interfaccia utente in modo che le persone possano facilmente eseguire uno dei lavori di sincronizzazione. Il programma può essere scaricato da Github.
Consigliato:
Semplice armadietto per cartelle: 4 passaggi
Simple Folder Locker: ciao a tutti, in questo Instructable creeremo un semplice file batch per nascondere file privati, cartelle, ecc. e tenere lontani familiari, amici e colleghi. Nota: questo non funziona se qualcuno è esperto in programmazione, ma ho intenzione di pubblicare un altro se
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino - Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero - Elicottero Rc - Aereo RC con Arduino: 5 passaggi (con immagini)
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino | Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero | Elicottero Rc | Aereo radiocomandato con Arduino: per far funzionare un'auto radiocomandata | Quadricottero | Drone | Aereo RC | Barca RC, abbiamo sempre bisogno di un ricevitore e trasmettitore, supponiamo che per RC QUADCOPTER abbiamo bisogno di un trasmettitore e ricevitore a 6 canali e quel tipo di TX e RX è troppo costoso, quindi ne faremo uno sul nostro
Come cambiare le icone per le cartelle (Mac Os X): 3 passaggi
Come cambiare le icone per le cartelle (Mac Os X): un tutorial per i neofiti del Mac che vogliono cambiare l'icona dell'immagine per le cartelle
Come ripristinare le cartelle aperte quando accedi nuovamente dopo la disconnessione: 5 passaggi
Come ripristinare le cartelle aperte quando effettui nuovamente l'accesso dopo la disconnessione: Ok, ecco la situazione, stai utilizzando il computer con un sacco di cartelle aperte… Poi, tua madre è tornata a casa prima del previsto! Sai perfettamente che se ti becca mentre usi il computer, mentre dovresti essere a letto perché
Sincronizzare i LED con la musica: 3 passaggi
Sincronizza i LED con la musica: SEMBRA CHE ALCUNE IMMAGINI SIANO STATE RIMOSSE NEL TEMPO, NON SONO PI ATTIVO SU QUESTO SITO E CONSIGLIO DI CHIEDERE ALL'AUTORE DI UN SIMILE ISTRUZIONI Ecco un link allo schema elettrico che è stato rimosso in questo Instructable, Ti mostrerò come