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
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Skript mis otsib failid faili tüübi järgi ja kopeerib failitüübile määratud kausta.
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.
Uue faili tüübi lisamisel tuleb täiendada kataloogide nimekirja.
 
<source lang="python">
<source lang="python">
#!/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():
for i in range (0, 6):
    # Loon kataloogi kui seda ei ole veel loodud
    if os.path.isdir( kaustA[i] ):
    if not os.path.isdir(value):
        print failA[i]
         loo = "mkdir " + value
        for f in glob.glob(failA[i]):
            print f
            dir = kaustA[i] + f
            shutil.copy(f, dir)
    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>

Latest revision as of 18:26, 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.

#!/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)