Pyton

Planowanie zadań za pomocą Pythona

Planowanie zadań za pomocą Pythona
Niektóre zadania w naszym życiu są naprawdę czasochłonne i nudzimy się wykonując je wielokrotnie. Aby uniknąć nudnych zadań, automatyzujemy je w naszym systemie. Python ma wiele modułów automatyzacji, które można wykorzystać do automatyzacji naszych rzeczy. Poniżej omówimy znaczenie automatyzacji i jak zautomatyzować nasze rzeczy za pomocą Pythonath. Omówimy również niektóre moduły automatyzacji w Pythonie, które pomagają zautomatyzować nasze rzeczy. Następnie zobaczymy kilka przypadków użycia automatyzacji za pomocą Pythona. Na koniec zobaczymy, jak możemy zaplanować automatyczne uruchamianie naszego skryptu Pythona przy starcie.

Dlaczego automatyzujemy nasze rzeczy

Automatyzacja naszych rzeczy może ułatwić nam życie. Ma wiele zalet, ale kilka ważnych zalet automatyzacji podano poniżej

Automatyzacja w Pythonie

Istnieje wiele języków skryptowych, takich jak bash, perl itp. do automatyzacji procesów ręcznych, ale Python zapewnia realne środowisko do obsługi naszych potrzeb. Łatwiej jest zautomatyzować rzeczy przy użyciu języka programowania Python niż w jakimkolwiek innym języku. Python ma wiele modułów automatyzacji (i.mi. podproces, shutil, os, pyautogui, selen itp.) które można wykorzystać w automatyce. Zobaczymy kilka przypadków użycia, w jaki sposób zautomatyzujemy nasze rzeczy.

Moduły automatyzacji w Pythonie

Tutaj omówimy niektóre moduły automatyzacji w Pythonie, takie jak OS, SUBPROCESS, SHUTIL, DATETIME, SELENIUM itp. Moduły te służą do wykonywania poleceń systemowych i mogą być również używane do manipulowania katalogami systemowymi. Moduły te mają wbudowane funkcje, które ułatwiają wykonywanie zadań w systemie.

OS i PODPROCES moduły są używane prawie w tym samym celu. Niektóre z wbudowanych funkcji tych modułów są podane poniżej

podobnie SHUTIL moduł posiada wiele funkcji pozwalających na interakcję z systemem. Niektóre funkcje tego modułu są podane poniżej

DATA GODZINA moduł służy do wyszukiwania aktualnej daty i godziny. Służy również do znajdowania dnia tygodnia i wielu innych rzeczy. Za pomocą tego modułu możemy zaplanować nasze zadanie w dowolnym czasie i terminie. W poniższych przypadkach użyjemy go, aby znaleźć tylko aktualną datę i godzinę.

SELEN Moduł służy do automatyzacji procesu logowania do naszej strony internetowej. Możemy automatycznie zalogować się do naszej witryny i aktualizować ją za pomocą SELEN moduł. SELEN posiada wiele wbudowanych funkcji, które służą do wykonywania różnych zadań związanych z przeglądarkami.

Jak wykonywać polecenia systemowe w Pythonie

Możemy uruchamiać polecenia systemowe w Pythonie za pomocą OS i PODPROCES moduły. Poniżej znajduje się składnia do uruchamiania polecenia systemowego w pythonie

os.system('polecenie')

LUB

podproces.zadzwoń('polecenie')

Na przykład, jeśli chcemy wyświetlić listę wszystkich plików i katalogów w bieżącym katalogu, uruchomimy następujące polecenie w skrypcie Pythona

os.system('ls')

LUB

podproces.zadzwoń('ls')

Jak zautomatyzować rzeczy za pomocą Pythona

Python może być używany do automatyzacji wielu rodzajów codziennych zadań, co może oszczędzić czas. Tutaj zobaczymy kilka przypadków użycia automatyzacji naszych rzeczy. Porozmawiamy o rozmieszczeniu plików w katalogu pobierania i utrzymywaniu kopii zapasowych naszych ważnych plików.

Porządkowanie plików w katalogu pobierania

Gdy pobieramy dowolny typ pliku, domyślnie trafia on do katalogu pobierania. Kiedy musimy znaleźć jakiś plik, może to spowodować problem, ponieważ w katalogu pobierania jest wiele typów plików. Teraz napiszemy skrypt w Pythonie, aby zautomatyzować system w taki sposób, aby różne typy plików (np.sol. mp3, png, xls itp.) trafiają do różnych katalogów. Pełny kod znajduje się poniżej. Ten kod sprawdzi każdy typ pliku jeden po drugim, a następnie utworzy odpowiedni katalog. Następnie przeniesie plik do powiązanych katalogów (e.g… plik mp3 trafi do katalogu „Audio”).

importuj system
importuj plik
importuj datę i godzinę
podczas gdy 1:
#obliczanie bieżącej godziny, minuty i sekundy
dzisiaj = data/godzina.data i godzina.dzisiaj()
dzisiaj = str(dzisiaj)
bieżąca_godzina = dzisiaj[11:13]
bieżąca_minuta = dzisiaj[14:16]
current_sec = dzisiaj[17:19]
# upewnienie się, że system uporządkuje pliki o 08:00
if bieżąca_godzina == '08' i bieżąca_minuta == '00' i bieżąca_s == '00':
# zmiana katalogu do pobrania
os.chdir("ścieżka_do_katalogu_pobierania")
# zapisywanie wszystkich nazw plików na liście
pliki = os.listdir(os.getcwd())
dla nazwy pliku w plikach:
# ignorowanie katalogów
jeśli nie os.ścieżka.isdir(nazwa pliku):
# wybór plików mp3
gdyby '.mp3' w nazwie pliku:
# tworzenie katalogu 'Audio', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('Dźwięk'):
os.mkdir('Dźwięk')
# przenoszenie pliku w katalogu 'Audio'
żaluzja.przenieś(nazwa pliku, 'Dźwięk')
# wybór plików mp4
elif '.mp4' w nazwie pliku:
# tworzenie katalogu 'Video', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('Wideo'):
os.mkdir('Wideo')
# przenoszenie pliku w katalogu „Wideo”
żaluzja.przenieś(nazwa pliku, 'Wideo')
# wybór plików pdf
elif '.pdf” w nazwie pliku:
# tworzenie katalogu 'PDF', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('PDF'):
os.mkdir('PDF')
# przenoszenie pliku w katalogu PDF
żaluzja.przenieś(nazwa pliku, 'PDF')
# wybór plików jpg i png
elif '.jpg' w nazwie pliku lub '.png' w nazwie pliku:
# tworzenie katalogu „Zdjęcia”, jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('Zdjęcia'):
os.mkdir('Zdjęcia')
# przenoszenie pliku w katalogu „Obrazy”
żaluzja.przenieś(nazwa pliku, 'Zdjęcia')
# wybieranie plików Excel
elif '.xls' w nazwie pliku:
# tworzenie katalogu 'Excel', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('Excel'):
os.mkdir('Excel')
# przenoszenie pliku w katalogu 'Excel'
żaluzja.przenieś(nazwa pliku, 'Excel')
# wybierając '.pliki ppt
elif '.ppt” w nazwie pliku:
# tworzenie katalogu 'Power Point', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('Power Point'):
os.mkdir('Power Point')
# przenoszenie pliku w katalogu 'Power Point'
żaluzja.przenieś(nazwa pliku, 'Power Point')
# wybierając '.pliki dokumentów
elif '.docx” w nazwie pliku:
# tworzenie katalogu 'Word File', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('Plik Word'):
os.mkdir('Plik Word')
# przenoszenie pliku w katalogu 'Word File'
żaluzja.przenieś(nazwa pliku, 'Plik Word')

Przede wszystkim zapiszemy aktualny czas w różnych zmiennych następnie sprawdzimy czy godzina jest dokładna '08:00' czy nie. Program będzie codziennie sprawdzał godzinę i uruchamiał kod, jeśli godzina jest '08:00', to kod główny zostanie uruchomiony. W głównym kodzie najpierw zmieniamy nasz katalog na Download directory. Tutaj zapiszemy wszystkie nazwy plików na liście o nazwie pliki. Teraz odczytamy wszystkie pliki jeden po drugim i odfiltrujemy tylko pliki. Zignorujemy katalogi, ponieważ będziemy porządkować tylko pliki.

Teraz sprawdzimy każdy typ pliku, czy jest to mp3, mp4, jpg, pdf, xls, ppt i docx, czy nie. Po sprawdzeniu każdego typu pliku sprawdzimy, czy odpowiedni katalog istnieje, czy nie. Na przykład, jeśli plik jest mp3, sprawdzimy, czy katalog „Audio” istnieje, czy nie. Jeśli odpowiedni katalog nie istnieje, utworzymy katalog. Po utworzeniu katalogu przeniesiemy nasz plik do tego katalogu. W ten sposób wszystkie pliki można przenieść do odpowiednich katalogów.

Ten kod będzie działał nieprzerwanie i będzie sprawdzał, czy godzina jest „08:00”, czy nie. Codziennie o '08:00' pliki będą układane automatycznie. Ten kod można zaplanować do uruchomienia za każdym razem, gdy uruchamiasz system za pomocą crontab. Crontab został wyjaśniony poniżej.

Automatycznie twórz kopie zapasowe plików za pomocą poleceń systemowych

Masz kilka ważnych plików w katalogu powiązanym z twoim projektem i w jakiś sposób niektóre pliki zostały usunięte. Więc co zrobisz?? W takiej sytuacji ważne jest utworzenie kopii zapasowej plików. Ale tworzenie kopii zapasowej plików jest naprawdę nudne i czasochłonne. To zadanie można wykonać automatycznie, pisząc skrypt w Pythonie. Poniżej znajduje się kod do wykonania tego zadania. Ten kod przekonwertuje każdy plik na plik zip, a następnie utworzy katalog kopii zapasowej, jeśli nie istnieje. Następnie plik zip zostanie przeniesiony do katalogu kopii zapasowej.

importuj system
importuj datę i godzinę
podczas gdy 1:
# oszczędzam aktualny czas
dzisiaj = data/godzina.data i godzina.dzisiaj()
dzisiaj= str(dzisiaj)
bieżąca_godzina = dzisiaj[11:13]
bieżąca_minuta = dzisiaj[14:16]
current_sec = dzisiaj[17:19]
# upewnienie się, że kod zostanie uruchomiony dokładnie o godzinie '08:00'
if bieżąca_godzina == '08' i bieżąca_minuta == '00' i bieżąca_s == '00':
# zmiana katalogu na dokumenty
os.chdir('ścieżka_do_katalogu_dokumentów')
# zapisywanie wszystkich nazw plików na liście
pliki = os.listdir(os.getcwd())
# tworzenie katalogu 'backup', jeśli nie istnieje
jeśli nie os.ścieżka.istnieje('kopia'):
os.mkdir('kopia zapasowa')
dla pliku w plikach:
# ignorowanie katalogów
jeśli nie os.ścieżka.isdir(plik):
# definiowanie nazwy pliku bez spacji
oryginalna nazwa = plik
plik = plik.rozdzielać(" ")
nazwa_pliku = "".dołącz(plik)
# definiowanie nazwy pliku_zip
zip_file_name = nazwa_pliku+".zamek błyskawiczny"
# sprawdzanie, czy plik już istnieje w katalogu kopii zapasowej, czy nie
jeśli nie os.ścieżka.istnieje('backup/'+nazwa_pliku_zip):
# zmiana nazwy pliku bez spacji
os.zmień nazwę (oryginalna_nazwa, nazwa_pliku)
# tworzenie pliku zip za pomocą polecenia systemowego
os.system("zip "+nazwa_pliku_zip+" "+nazwa_pliku)
#przenoszenie pliku zip do katalogu kopii zapasowej za pomocą polecenia systemowego
os.system("mv "+nazwa_pliku_zip+" kopia zapasowa")
# zmiana nazwy pliku na jego oryginalną nazwę
os.zmień nazwę (nazwa_pliku, nazwa_oryginalna)

Przede wszystkim zapiszemy aktualny czas w zmiennych, a następnie sprawdzimy, czy godzina jest '08:00' czy nie. Jeśli godzina jest dokładnie „08:00”, skrypt główny zostanie uruchomiony. W głównym kodzie najpierw przechodzimy do katalogu, w którym znajdują się ważne pliki. Następnie zapisujemy wszystkie nazwy plików na liście. Teraz utworzymy katalog 'backup', w którym zapiszemy wszystkie pliki zip. Jeśli ten katalog już istnieje, zignorujemy to. Teraz odczytamy każdy plik i sprawdzimy, czy są to pliki, czy nie. Katalogi zostaną zignorowane, a pliki będą brane pod uwagę.

Aby utworzyć plik zip za pomocą polecenia systemowego, najpierw zmienimy nazwę tego pliku bez spacji, ponieważ nazwa pliku ze spacjami jest uważana za inny plik w każdym miejscu, po uruchomieniu w poleceniu systemowym za pomocą skryptu Pythona. Nazwa pliku jest zapisywana w zmiennej 'original_filename', a nazwa pliku jest zmieniana bez spacji. Teraz zdefiniujemy nazwę pliku zip taką samą jak nazwa pliku z rozszerzeniem '.zamek błyskawiczny'.

Następnie użyjemy polecenia systemowego 'zip', aby skompresować ten plik, a następnie przeniesiemy ten plik zip do katalogu 'backup' za pomocą polecenia systemowego 'mv'. Następnie ponownie zmienimy nazwę pliku na jego oryginalną nazwę ze spacjami. Ten kod zostanie zaplanowany w systemie, aby uruchamiał się automatycznie za każdym razem, gdy uruchomisz system za pomocą crontab.

Zautomatyzuj uruchamianie skryptu za pomocą Crontab

Skrypty automatyzacji napisaliśmy powyżej. Teraz chcemy uruchamiać te skrypty automatycznie po ponownym uruchomieniu naszego systemu. Aby to zrobić, dodajemy nasz skrypt w crontab. Aby dodać zadanie w crontab wykonaj następujące kroki

Przede wszystkim wpisz następujące polecenie, aby edytować plik crontab

ubuntu@ubuntu:~$ crontab -e

-Flaga e oznacza otwarty crontab w trybie edycji. Po otwarciu pliku crontab teraz dodamy nasze zadanie w tym pliku za pomocą następującego polecenia na końcu pliku

@reboot python /ścieżka/do/python/skrypt

Spowoduje to automatyczne uruchomienie skryptu Pythona przy każdym uruchomieniu systemu.

Wniosek

W tym artykule wyjaśniono znaczenie automatyzacji w życiu praktycznym. Czytając ten artykuł, dowiesz się, jak zautomatyzować proste zadania, które wykonujesz na co dzień. Zdecydowanie powinieneś poszukać więcej bibliotek i funkcji Pythona, aby uzyskać lepszą i łatwiejszą automatyzację.

Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...
Gry 5 najlepszych kart do przechwytywania gier
5 najlepszych kart do przechwytywania gier
Wszyscy widzieliśmy i uwielbialiśmy strumieniowe rozgrywki na YouTube on. PewDiePie, Jakesepticye i Markiplier to tylko niektórzy z najlepszych graczy...
Gry Jak stworzyć grę na Linuksie
Jak stworzyć grę na Linuksie
Dziesięć lat temu niewielu użytkowników Linuksa przewidywało, że ich ulubiony system operacyjny pewnego dnia stanie się popularną platformą do gier dl...