-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathremove.py
More file actions
41 lines (36 loc) · 1.5 KB
/
Copy pathremove.py
File metadata and controls
41 lines (36 loc) · 1.5 KB
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
# Rimozione file non musicali e pulizia cartelle vuote in una directory.
import os
import re
# Definisci le estensioni dei file musicali che vuoi preservare
musical_extensions = re.compile(r'\.(flac|opus|mp3|m4a|aac)$', re.IGNORECASE)
def delete_non_music_files(folder_path):
for root, dirs, files in os.walk(folder_path, topdown=False):
for name in files:
file_path = os.path.join(root, name)
# Se il file non ha un'estensione musicale, viene eliminato
if not musical_extensions.search(name):
print(f"Deleting file: {file_path}")
os.remove(file_path)
for name in dirs:
dir_path = os.path.join(root, name)
# Se la cartella è vuota, viene eliminata
if not os.listdir(dir_path):
print(f"Deleting empty directory: {dir_path}")
os.rmdir(dir_path)
def main():
folder_path = input("Inserisci il percorso della cartella: ").strip()
if os.path.isdir(folder_path):
delete_non_music_files(folder_path)
print("Pulizia completata.")
else:
print("Il percorso inserito non è valido. Per favore riprova.")
if __name__ == "__main__":
while True:
main()
scelta = input("\nUtilizza di nuovo lo script digitando 1 o premi 0 per ritornare a main.py: ").strip()
if scelta == '1':
continue
elif scelta == '0':
break
else:
print("Scelta non valida. Inserire 1 o 0.")