Skript mis otsib kõik pildi,video,muusika,dokumendi failid ja jagab need kaustadesse - Python: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 6: Line 6:
#!/usr/bin/python
#!/usr/bin/python
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
 
 
import shutil
import shutil
import glob
import os
import os
 
# Failitüübid
# Sõnastik,kus on kirjeldatud failitüüp ja talle vastav kaust.
failA = ["*.mp3", "*.wav", "*.doc", "*.pdf", "*.avi", "*.jpg"]
failA = {'.mp3' : '/home/Muusika/', '.wav' : '/home/Muusika', '.jpg' : '/home/Pilt/', '.avi' : '/home/Video/', '.doc' : '/home/Dokument/', '.pdf' : '/home/Dokument/'}
# Kaustad kuhu failid failitüüdi järgi kopeeritakse
# for tsükkel millega loen sõnastikust  key(failitüüp) ja value(kataloog) sisse
kaustA = ["/home/Muusika/", "/home/Muusika/", "/home/Dokument/", "/home/Dokument/", "/home/Video/", "/home/Pilt/"]
for key,value in failA.items():
# i´le antakse järjest numbrilisi väärtusi
    # Loon kataloogi kui seda ei ole veel loodud
for i in range (0, 6):
    if not os.path.isdir(value):
    # kontroll kas kaust on loodud
         loo = "mkdir " + value
    if os.path.isdir( kaustA[i] ):
        # Väljasta kopeeritav failitüüp
        print failA[i]
        for f in  glob.glob(failA[i]):
            # Näita kopeeritava faili nime   
            print f
            # Faili uue asukoha ja nime liitmine
            dir = kaustA[i] + f
            # Kopeerimine f-failinimi, dir-kataloog kuhu kopeeritakse
            shutil.copy(f, dir)
    #kui kausta veel ei ole siis luuakse mkdir käsuga
    else:
         loo = "mkdir " + kaustA[i]
         os.system(loo)
         os.system(loo)
 
    # os.walk meetodi abil /home/ kataloogi ja alma kataloogi läbi käimine
    for root, dirs, files in os.walk('/home/'):
        # for tsükkel files väärtustest iga failinime eraldi käsitlemiseks
        for filename in files:
            # Kui faili liides on üks sõnastikus kirjeldatutest (key)..
            if filename.endswith( key ):
                # kopeeritava faili asukoht + failinimi
                src = root + "/" + filename
                # kataloog kuhu kopeeritakse   
                dest = value + filename
                # kontroll,kui sama nimega fail on juba kataloogis olemas,siis jääb kopeerimine ära
                if not os.path.exists( dest ):
                  shutil.copy( src, dest)
</source>
</source>

Revision as of 18:25, 30 January 2011

Skript mis otsib failid faili tüübi järgi ja kopeerib failitüübile määratud kausta /home kataloogi. Uue faili tüübi lisamisel tuleb täiendada kataloogide nimekirja ja i väärtust. Skripti kävitamisel kuvatakse ükshaaval failitüüp kujul "*.mp3" ning iga faili tüübi alla failinimed,mida kopeeriti.

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
 
import shutil
import os
 
# Sõnastik,kus on kirjeldatud failitüüp ja talle vastav kaust.
failA = {'.mp3' : '/home/Muusika/', '.wav' : '/home/Muusika', '.jpg' : '/home/Pilt/', '.avi' : '/home/Video/', '.doc' : '/home/Dokument/', '.pdf' : '/home/Dokument/'} 
# for tsükkel millega loen sõnastikust  key(failitüüp) ja value(kataloog) sisse
for key,value in failA.items():
     # Loon kataloogi kui seda ei ole veel loodud
     if not os.path.isdir(value):
        loo = "mkdir " + value
        os.system(loo)
     # os.walk meetodi abil /home/ kataloogi ja alma kataloogi läbi käimine
     for root, dirs, files in os.walk('/home/'):
        # for tsükkel files väärtustest iga failinime eraldi käsitlemiseks
        for filename in files:
            # Kui faili liides on üks sõnastikus kirjeldatutest (key)..
            if filename.endswith( key ):
                # kopeeritava faili asukoht + failinimi
                src = root + "/" + filename
                # kataloog kuhu kopeeritakse    
                dest = value + filename
                # kontroll,kui sama nimega fail on juba kataloogis olemas,siis jääb kopeerimine ära
                if not os.path.exists( dest ): 
                   shutil.copy( src, dest)