Python rocks!
11 marca, 2009
Codziennie poznaję kawałek tego języka i codziennie lubię go coraz bardziej!
W związku z ostatnim pomysłem na rozszerzone logowanie użytkownika ( via pgina ) potrzebowaliśmy pobrać listę montowanych dysków z pliku startowego znajdującego się na Sambie w katalogu domowym każdego usera i zapisać choćby w formacie csv.
Teraz do sedna - 10 minut pracy (łącznie z grzebaniem w dokumentacji, wszak ekspertem jeszcze nie jestem :) ) i powstało parę linijek wykonujących dokładnie to co chciałem :)
import os # sciezka z home'ami PATH = "/home" # szukany plik BATFILE = "startup.bat" # plik wysjciowy DATAFILE = "dane.csv" result = open(DATAFILE,'w') for d in os.listdir(PATH): path = os.path.join(PATH, d,BATFILE) if os.path.exists(path): file = open(path,"r") for l in file.readlines(): if l.startswith('net use'): (k, v) = l.split()[2:4] result.write("%s,%s,%s\n" % (d, k, v)) file.close() result.close()
... i w pliku wyjściowym lądują wpisy w postaci
username,literka_dysku,sciezka
Może nie jest to zoptymalizowane rozwiązanie (ciągle się uczę więc mogłem pominąć coś ważnego), ale najważniejsze, że spełnia swoje zadanie.
Komentarze do wpisu "Python rocks!":
1.
Dodek napisał(a):
11 marca 2009, 18:24:00
ładny styl wymaga try: open(); ...; finally: close() :)
2.
chester napisał(a):
11 marca 2009, 21:05:55
Ha, racja! jakoś nie wpadłem na to, dlatego sprawdzałem tylko przez exists() :)
3.
TBi napisał(a):
11 marca 2009, 22:23:07
Tak co do pierwszej części wpisu, to fakt Python jest seksi ;] na prawdę fajnie sie go uczy, zwłaszcza ucząc sie jednocześnie C++
Dodaj komentarz: