abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 0
    dnes 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: python / du -hs

    9.4.2006 16:58 michal74
    python / du -hs
    Přečteno: 78×
    Potřeboval bych poradit. Nevím jak v pythonu zjistit velikost obsazeného prostoru. Mělo by to fungovat jako v bashi příkaz du -hs /adresář.Výsledek bych chtěl přiřadit do proměnné.

    Odpovědi

    9.4.2006 17:23 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: python / du -hs
    Vzhledem k tomu, že chceš výsledek přiřadit do proměnné, tak by tam asi neměl být ten parametr "-h". Ta funkce by se dala napsat třeba takhle:
    def getdirsize(base):
      size = 0
      for root, dirs, files in os.walk(base):
        for file in files:
          filepath = os.path.join(root, file)
          if os.path.islink(filepath): continue
          size = size + os.path.getsize(filepath)
      return size
    
    Ale je to jen jednoduchá varianta, která za adresáře a linky nic nepřipočítává.
    9.4.2006 17:45 michal74
    Rozbalit Rozbalit vše Re: python / du -hs
    V pythonu sem začátečník ,takže tomu cos napsal moc nerozumím, ale určitě to vyzkouším. Parametr -h tam v podstatě nepotřebuju. Díky
    10.4.2006 09:33 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: python / du -hs
    Zjišťování velikosti adresáře jsem nechtěl hned dělat "human readable". Na tohle bude lepší udělat zvláštní funkci. Zkusil jsem to napsat takhle:
    def human_readable(x, suffix = '', binary = True):
      prefixes_dec = ['', 'k', 'M', 'G', 'T', 'P']
      prefixes_bi  = ['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi']
    
      if binary:
        base = 1024
        prefixes = prefixes_bi
      else:
        base = 1000
        prefixes = prefixes_dec
    
      mul = base/999.5
      mag = int(math.log(x * mul, base))
      prefix = prefixes[mag]
      not_rounded = float(x) / base**mag
      r_order = 10**(2 - int(math.log(not_rounded, 10)))
      rounded = math.ceil(not_rounded * r_order - 0.5) / r_order
      
      return '%g %s%s' %(rounded, prefix, suffix)
    
    Parametrem "binary" (který je True nebo False) rozlišuje decimální a binární předpony. Ty jsou sice na můj vkus trochu nezvyklé, ale co se dá dělat - viz: http://physics.nist.gov/cuu/Units/binary.html
    Program vypisuje hodnoty zaokrouhlené na tři platná (nikoli desetinná) místa. Příklad použití:
        print human_readable(648218, 'Hz', binary=False)
        print human_readable(187, 'bit/s', binary=True)
    
    A teď mi někdo řekněte, jak by měla vypadat "human readable" 1001 bitů. Je to už čtyřmístné, ale když se to převede na Ki bity, tak se to scvrkne na 0.98. Blbé, co?

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.