| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
MassazippaajaEzku 25.06.05 23:38 Skannaa annetun kansion rekursiivisesti ja pakkaa syötettyyn regexpiin täsmäävät tiedostot kansionsa nimen mukaiseen zippiin.
# -*- coding: cp1252 -*- import os import os.path import re import zipfile def scan (folder, match): place = len(folder) -1 if(folder[place]=="\\"): folder = folder[:place] for root, dirs, files in os.walk(folder): filelist = [] for file in files: if re.search(match,file): filelist.append(file) compress(root, filelist) def compress (root, filelist): if len(filelist)>0: target = '%s.zip' % (root) output = '' zip = zipfile.ZipFile(target,"w") for filename in filelist: zip.write(root + '\\' + filename) output += " %s" % (filename) print "Folder: %s\nFiles:\n%s\nInto: %s" % (root + '\\',output,target) zip.close() def GetInput (note): input = raw_input(note) if len(input)>0: return input def main(): while 1: print "--- Match files with regexp, pack in zip with folder name ---" folder = GetInput("Folder to look in: ") match = GetInput("Regexp to match: ") scan(folder,match) break if __name__ == "__main__": main() ZcMander 00:20 26.6.05 kansion paikan vois laittaa argumentteihin niin tuosta vois olla jollekkin jopa hyötyä. Ezku 00:31 26.6.05 Kyseessä ensimmäinen Python-skriptini jota käytin joskus kuvien arkistointiin. Ei luonnollisesti mikään mestariteos, vaan päätinpä pistää kun näin tyhjän alueen :p Ztane 22:47 26.6.05 Et vissiin käytä unixia :d Ztane 10:06 1.7.05 Tämä ei oo käyttöjärjestelmäriippumaton, koska olettaa että \ on hakemistoerotin. os.pathiakin saa käyttää. |
![]() Haku
|