Sticky Verzeichnisinhalt und Statistiken auflisten

    This site uses cookies. By continuing to browse this site, you are agreeing to our use of cookies. More details

    • Verzeichnisinhalt und Statistiken auflisten



      OK, dieses Rezept listet von einem übergebenen Verzeichnis alle sich darin befindlichen Dateien und Ordner auf.
      Des Weiteren durchläuft er alle darunterliegenden Ordner und listet eine Gesamtstatistik auf (siehe Bild).

      Python Source Code

      1. #!/usr/bin/env python
      2. # -*- coding: utf-8 -*-
      3. import os, time, sys
      4. '''
      5. Created on 19.03.2014
      6. @author: jeffo
      7. '''
      8. '''
      9. help(ListDir)
      10. Listet das aktuelle Verzeichnis mit diversen Informationen auf.
      11. @param path : Verzeichnis, welches aufgelistet werden soll.
      12. '''
      13. def ListDir(path):
      14. if os.path.exists(path):
      15. os.chdir(path)
      16. else:
      17. print 'Verzeichnis nicht gefunden'
      18. return
      19. for item in os.listdir(path):
      20. name = item
      21. mt = time.localtime(os.path.getmtime(item))
      22. f_mt = [str(num).zfill(2)for num in mt]
      23. m_time = '%s.%s.%s.%s:%s:%s' %(f_mt[2], f_mt[1], f_mt[0],
      24. f_mt[3], f_mt[4], f_mt[5])
      25. if os.path.isdir(item):
      26. size = ' ' * 9
      27. typ = 'Verzeichnis'
      28. else:
      29. size = '%.2f KB' %(os.path.getsize(item)/1024.0)
      30. typ = 'Datei'
      31. fill = ' ' * (20 - len(name) + 10 - len(size))
      32. print '%s%s%s\t%s\t%s' %(name, fill, size, m_time, typ)
      33. '''
      34. help(ListStats)
      35. Methode mit Tiefenwanderung, listet Statistiken aller
      36. Unterordner/Dateien des
      37. bei "ListDir" übergebenen Verzeichnisses auf
      38. @param infos : Pfad des Verzeichnisses, bei dem begonnen wird
      39. (Argument, welches ans Skript übergeben wird)
      40. @param verz : aktuelles Verzeichnis im Durchlauf
      41. @param dats : Dictionary, welches Daten sammelt
      42. '''
      43. def ListStats(infos, verz, dats):
      44. os.chdir(verz)
      45. for dat in dats:
      46. if os.path.isfile(dat):
      47. infos['size'] += os.path.getsize(dat)/1024.0
      48. infos['sizeMB'] = int(infos['size']) >> 10
      49. infos['dat'] += 1
      50. else:
      51. infos['verz'] += 1
      52. if( len(sys.argv) <= 1 ):
      53. print "FEHLER : Es wurde kein Argument uebergeben.\n" \
      54. "[AUFRUF :] dirlist.py <Pfad zum Verzeichnis>"
      55. sys.exit(-1)
      56. else:
      57. infos = {'verz' : 0, 'dat' : 0, 'size' : 0, 'sizeMB' : 0}
      58. pfad = str(sys.argv[1])
      59. # Ordner/Dateien des aktuellen Verzeichnisses ausgeben
      60. ListDir(pfad)
      61. # Gesamtstatistiken des Ordner und aller Unterliegenden Ordner ausgeben
      62. os.path.walk(pfad, ListStats, infos)
      63. # Ausgabe der Gesamtstatistiken
      64. print ''
      65. print """Ergebnis:
      66. %(verz)s Verzeichnisse
      67. %(dat)s Dateien
      68. =======================
      69. Kilobytes : %(size).2f KB ( = %(sizeMB).d MB )""" %(infos)
      Display All

      Zum ausführen einfach mit der Konsole ins Verzeichnis des Skripts wechseln und python dirlist.py 'Pfad zum Verzeichnis' eingeben.

      ..:: Beispielausgabe des Skripts ::..



      ..:: DOWNLOAD ::..

      Share-Online : Link