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
- Pierwszą i najważniejszą zaletą automatyzacji jest oszczędność czasu.
- Możemy zwiększyć efektywność naszej pracy (i.mi. więcej pracy w krótszym czasie)
- Można poprawić dokładność zaplanowanych zadań can.
- Automatyzacja rzeczy zmniejsza interakcję człowieka z systemem, więc nudne rzeczy są zautomatyzowane.
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
- chdir() \\ Aby zmienić katalog
- mkdir() \\ Aby utworzyć nowy katalog
- rename() \\ Aby zmienić nazwę pliku
- listdir() \\ Aby wyświetlić wszystkie pliki i katalogi
- getcwd() \\ Aby poznać nasz bieżący katalog
- system() \\ Uruchamianie poleceń systemowych
- call() \\ Aby uruchomić polecenia systemowe
podobnie SHUTIL moduł posiada wiele funkcji pozwalających na interakcję z systemem. Niektóre funkcje tego modułu są podane poniżej
- move() \\ Aby przenieść plik
- copy() \\ Aby skopiować plik
- rmtree() \\ Aby usunąć wszystkie pliki w katalogu i podkatalogach
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ę.
- data i godzina.dzisiaj() \\ Aby znaleźć aktualną datę i Czas
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 systemimportuj 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 systemimportuj 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/skryptSpowoduje 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ę.