Problemy z aktywacją konta
Jeśli po zarejestrowaniu się na forum nie otrzymałeś emaila z linkiem do potwierdzenia rejestracji konta skontaktuj się ze mną wysyłając email za pomocą formularza kontaktowego.

[Python] Sortowanie plików.

Rozmowy na prawie każdy temat
Awatar użytkownika
AnimaVillis
Początkujący
Początkujący
Posty: 5
Rejestracja: pt 18 lut 2022, 22:47
Podziękowano : 1 raz
Kontakt:

#1 [Python] Sortowanie plików.

Nieprzeczytany post autor: AnimaVillis »

Witam,

Postanowiłem, że może tutaj ktoś podpowie o bardziej sensownym rozwiązaniu.
Mam sobie skrypt o taki:

Kod: Zaznacz cały

import os
import time
import shutil
import datetime
import glob
from shutil import copytree, ignore_patterns
from shutil import copytree, Error


class ZmianaMiesiaca:
    def switch(self, full_month_name):
        default = "Błedny miesiąc"
        return getattr(self, 'case_' + str(full_month_name), lambda: default)()
 
    def case_01(self):
        return str("Styczeń")
 
    def case_02(self):
        return str("Luty")
 
    def case_03(self):
        return str("Marzec")
 
    def case_04(self):
        return str("Kwiecień")
 
    def case_05(self):
        return str("Maj")
 
    def case_06(self):
        return str("Czerwiec")

    def case_07(self):
        return str("Lipiec")

    def case_08(self):
        return str("Sierpień")
        
    def case_09(self):
        return str("Wrzesień")
        
    def case_10(self):
        return str("Październik")
        
    def case_11(self):
        return str("Listopad")
        
    def case_12(self):
        return str("Grudzień")

ZM = ZmianaMiesiaca()
os.chdir(r"E:\\")
all_files = list(os.listdir())
outputs = os.getcwd()
for files in all_files:
    try:
        inputs = glob.glob(files+"\\*")
        for ele in inputs:
            shutil.move(ele, outputs)
        shutil.rmtree(files)
    except:
        pass

for files in os.listdir('.'):
    time_format = time.gmtime(os.path.getmtime(files))
    datetime_object = datetime.datetime.strptime(str(time_format.tm_mon), "%m")
    full_month_name = datetime_object.strftime(
        "%m")
    dir_name = str(time_format.tm_year) + '-' + \
        ZM.switch(full_month_name)
    if not os.path.isdir(dir_name):
        os.mkdir(dir_name)
    dest = dir_name
    
    try:
        shutil.move(files, dest)
    except IOError:
        print("Brak możliwości skopiowania pliku.")

print("Posortowane...")
Jednakże zastanawiam się czy nie dałoby się jakoś uprościć samej zmiany nazwy miesiąca?
[CENTER]Obrazek[/CENTER]

Utwórz konto lub zaloguj się, aby dołączyć do dyskusji

Musisz być zalogowany, aby opublikować odpowiedź

Utwórz konto

Nie masz konta? Zarejestruj się, aby dołączyć do naszej społeczności
Mając konto moesz zakładać własne tematy i subskrybować interesujące cię wątki
To nic nie kosztuje i zajmuje tylko minutę

Zarejestruj się

Zaloguj się