-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathefolder.py
More file actions
48 lines (42 loc) · 1.6 KB
/
Copy pathefolder.py
File metadata and controls
48 lines (42 loc) · 1.6 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
42
43
44
45
46
47
48
# Individuazione e rimozione sicura di cartelle vuote in una directory.
import os
def find_empty_directories(folder_path):
empty_dirs = []
for root, dirs, files in os.walk(folder_path, topdown=False):
for dir in dirs:
dir_path = os.path.join(root, dir)
if not os.listdir(dir_path):
empty_dirs.append(dir_path)
return empty_dirs
def print_and_delete_empty_dirs(empty_dirs):
print("Cartelle vuote trovate:")
for dir in empty_dirs:
print(dir)
print(f"\nNumero totale di cartelle vuote trovate: {len(empty_dirs)}")
if len(empty_dirs) > 0:
proceed = input("Vuoi procedere con la cancellazione delle cartelle vuote? (y/n): ").strip().lower()
if proceed == 'y':
for dir in empty_dirs:
os.rmdir(dir)
print(f"Cancellato: {dir}")
else:
print("Operazione annullata.")
else:
print("Nessuna cartella vuota trovata.")
def main():
folder_path = input("Inserisci il percorso della cartella: ").strip()
if os.path.isdir(folder_path):
empty_dirs = find_empty_directories(folder_path)
print_and_delete_empty_dirs(empty_dirs)
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.")