Portál AbcLinuxu, 31. října 2025 08:43
Zdravím, poradil by nějaký profík jak v nějakém adresáři rekurzivně odstranit všechny soubory a adresáře podle těchto kritérií? Platný název obsahuje pouze a výhradně - čísla 0,1,2,3,4,5,6,7,8,9 - nesmí začínat číslem 0 ani jiným znakem - nesmí končit jiným znakem než číslem - nesmí obsahovat příponu - nesmí být skrytý, symlink atd.. Prostě potřebuji smazat všechny položky pokud nemají platná název který se skládá pouze s čísel a nezačíná 0 Programové prostředí Python >3.x Děkuji za případnou pomoc.
 1.2.2022 21:13
🇹🇬             | skóre: 37
             | blog: Grétin blogísek
             | 🇮🇱==❤️ ,   🇵🇸==💩 ,  🇪🇺==☭
        1.2.2022 21:13
🇹🇬             | skóre: 37
             | blog: Grétin blogísek
             | 🇮🇱==❤️ ,   🇵🇸==💩 ,  🇪🇺==☭
        takle by jako moch bejt ten domácák :O :P :D :D ;D ;D
#!/usr/bin/env python3
import os # naimportujem si os
import re # taky modul re na dělání regexpů/regularnich výrazů
import shutil # modul shutil na jednudchý mazání složek který nejsou prázný (pozor nebezpečný!!!!! :O :O nesmaž si disk nebo tak něco!! :O :O)
# zkompilujem si regulární výraz do kterýho musej sedět ty naše soubory hledaný
regulularni_vyraz = re.compile("(^[1-9][0-9]*)")
# nějaká cesta prohledávaná
cesta = "/home/pman/domacak"
# naskenujem si všecky položšky v cestě a všema projdem for loopem
polozky = os.scandir(cesta)
for polozka in polozky:
    
    # jestli jako neni symlink a současně nám sedí ten regulerní výraz (když regexp něco našel tak nevrátil prázdnou hodnotu resp. None)
    if not polozka.is_symlink() and regulularni_vyraz.match(polozka.name) is not None:
        print(f"nasla se polozka: {polozka.name}")
        if polozka.is_dir():
            print("polozka je slozska takze budem mazat slozsku")
            shutil.rmtree(polozka.path)
        elif polozka.is_file():
            print("polozka je soubor takze budem mazat soubor")
            os.remove(polozka.path)
print("hotovo!!!!!!!!!!!!!!!!!!!!!!!")
            
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.