[Python] Programma per rinominare file

Dawking

Utente Attivo
369
119
CPU
Ryzen 3 1200
Scheda Madre
ASROCK AB350M
HDD
1 TB, 7200 RPM, SATA 6 GB/s, 64 MB Cache 3.5 " + SSD S3+ 240GB
RAM
16GB (2 x 8GB) DDR4, 3000MHz G.Skill Aegis
GPU
RX 570 4gb
Monitor
HP 22fw
PSU
Power SupplyBe Quiet System Power B9 450W
Case
Noua Noob X1 RGB
Net
TP-LINK – WIRELESS USB 300MBPS
OS
Windows 10 PRO
Credo che dipenda da Windows che in maniera autonoma elimina lo spazio iniziale. Ma un programmatore non dovrebbe lasciare le cose al caso :)
Per rendere il programma più completo, implementerò questa situazione possibile, grazie!
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,883
11,540
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
per eliminare gli spazi laterali da una stringa s ti basta usare il metodo strip()
s = s.strip()
devi farlo per sicurezza prima di cominciare la ridenominazione
poi TENTI di ridenominare il file (usa una stringa temporanea) eliminando l'inizio e DOPO averlo ridenominato devi chamare di nuovo strip()
 
  • Mi piace
Reazioni: Dawking

Dawking

Utente Attivo
369
119
CPU
Ryzen 3 1200
Scheda Madre
ASROCK AB350M
HDD
1 TB, 7200 RPM, SATA 6 GB/s, 64 MB Cache 3.5 " + SSD S3+ 240GB
RAM
16GB (2 x 8GB) DDR4, 3000MHz G.Skill Aegis
GPU
RX 570 4gb
Monitor
HP 22fw
PSU
Power SupplyBe Quiet System Power B9 450W
Case
Noua Noob X1 RGB
Net
TP-LINK – WIRELESS USB 300MBPS
OS
Windows 10 PRO
per eliminare gli spazi laterali da una stringa s ti basta usare il metodo strip()
s = s.strip()
devi farlo per sicurezza prima di cominciare la ridenominazione
poi TENTI di ridenominare il file (usa una stringa temporanea) eliminando l'inizio e DOPO averlo ridenominato devi chamare di nuovo strip()
Non conoscevo il metodo strip(), buono a sapersi la sua funzione, la userò parecchio e non solo su questo script!

Grazie @BAT00cent ! :ok:
 

clessidra

Utente Attivo
766
272
CPU
VIA C3
GPU
Ati Rage
OS
linux - Red Hat 1.1
Non conoscevo il metodo strip(), buono a sapersi la sua funzione, la userò parecchio e non solo su questo script!

Grazie @BAT00cent ! :ok:
Per il tuo esempio basta che quando lo script ti richiede di inserire la parola da rimuovere invece di scrivere per esempio "Prova" (senza virgolette) scrivi "Prova " (senza virgolette), nota lo spazio in più.
Suggerimento: usa i metodi come strip(), rename(), ecc. solo dopo averli studiati.
 
  • Mi piace
Reazioni: Dawking e BAT

rctimelines

Utente Èlite
5,144
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
Al di là dello spazio iniziale che andrebbe gestito, penso che anche la forma del nuovo nome andrebbe gestita. Quello script si limita a cancellare un determinato testo all'interno del nome del file.

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
  • Mi piace
Reazioni: Dawking e BAT

BAT

Moderatore
Staff Forum
Utente Èlite
22,883
11,540
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
è vero, in effetti ridenominare gruppi di file può risultare più macchinoso di quanto sembri; spazio iniziale a parte, bisogna anche controllare che il resto del nome non coincida con nessun altro file nella stessa directory/cartella e, in caso contrario, assegnare un numero progressivo. Nulla che non si possa fare, ma bisogna stare attenti.
Tornando al metodo strip(), ci sono anche metodi simili chiamati lstrip()/rstrip() che agiscono rispettivamente solo a sinistra/destra di una stringa. funzionano come strip() sia sugli spazi (quando chiamati senza paramentri) che su sottostringhe iniziali/finali
 
  • Mi piace
Reazioni: Dawking

Dawking

Utente Attivo
369
119
CPU
Ryzen 3 1200
Scheda Madre
ASROCK AB350M
HDD
1 TB, 7200 RPM, SATA 6 GB/s, 64 MB Cache 3.5 " + SSD S3+ 240GB
RAM
16GB (2 x 8GB) DDR4, 3000MHz G.Skill Aegis
GPU
RX 570 4gb
Monitor
HP 22fw
PSU
Power SupplyBe Quiet System Power B9 450W
Case
Noua Noob X1 RGB
Net
TP-LINK – WIRELESS USB 300MBPS
OS
Windows 10 PRO
Grazie a tutti per i suggerimenti e accortezze indicate.
Ovviamente certe prevenzioni non le ho adottate perchè sapevo esattamente su cosa andavo ad operare e alla composizione della cartella e formato di denominazione di ogni singolo file che vado a ridenominare. E' un programma scritto per un uso personale, ovviamente se si volesse renderlo il più completo possibile e adatto ad ogni esigenza sarebbe bene prendere tutte le precauzioni del caso prima di rinominare un file.
Detto ciò non è detto che io un domani decida di ampliarlo sempre più per renderlo un programma accessibile a tutti.
Vi ringrazio per le numerose funzioni che mi avete fatto scoprire e tutti i ragionamenti da fare quando si lavora su un problema del genere :thanks:
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili