Planowanie zadań za pomocą Pythona

Planowanie zadań za pomocą Pythona
Niektóre zadania w naszym życiu są naprawdę czasowe i nudzimy się wielokrotnie wykonując te zadania. Aby uniknąć nudnych zadań, automatyzujemy te zadania w naszym systemie. Python ma wiele modułów automatyzacji, których można użyć do automatyzacji naszych rzeczy. Poniżej omówimy znaczenie automatyzacji i sposobu automatyzacji naszych rzeczy za pomocą Pythona. Omówimy również niektóre moduły automatyzacji w Pythonie, które pomagają automatyzować nasze rzeczy. Następnie zobaczymy pewne przypadki automatyzacji za pomocą Pythona. Na koniec zobaczymy, jak możemy zaplanować nasz skrypt Python, aby działał automatycznie przy uruchomieniu.

Dlaczego automatyzujemy nasze rzeczy

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

  • Po pierwsze i najważniejszą zaletą automatyzacji jest zaoszczędzenie czasu.
  • Możemy zwiększyć wydajność naszej pracy (i.mi. więcej pracy w krótszym czasie)
  • Dokładność zaplanowanych zadań można poprawić.
  • Dzięki automatyzacji rzeczy interakcja międzyludzka z systemem jest zmniejszona, więc nudne rzeczy są automatyczne.

Automatyzacja z Pythonem

Istnieje wiele języków scenariuszy, takich jak Bash, Perl itp. Aby zautomatyzować procesy ręczne, ale Python zapewnia wykonalne środowisko do zaspokojenia naszych potrzeb. Łatwiej jest zautomatyzować rzeczy za pomocą języka programowania Python niż w jakimkolwiek innym języku. Python ma wiele modułów automatyzacji (i.mi. podproces, okupa, OS, Pyautogui, selen itp.) Można użyć w automatyzacji. Zobaczymy pewne przypadki użycia, w jaki sposób automatyzujemy nasze rzeczy.

Moduły automatyzacji w Pythonie

Tutaj omówimy niektóre moduły automatyzacji w Python jak OS, podproces, okupa, dataTime, selen itp. Moduły te służą do wykonywania poleceń systemowych i mogą być również używane do manipulowania katalrami systemowymi. Te moduły mają wbudowane funkcje, które ułatwiają wykonywanie zadań w systemie.

OS I Podproces Moduły są używane do prawie tego samego celu. Niektóre z wbudowanych funkcji tych modułów podano poniżej

  • chdir () \\, aby zmienić katalog
  • mkdir () \\ Aby utworzyć nowy katalog
  • REAMAME () \\ na zmianę nazwy pliku
  • Listdir () \\, aby wymienić wszystkie pliki i katalogi
  • getCwd () \\, aby poznać nasz obecny katalog
  • system () \\ do uruchamiania poleceń systemowych
  • call () \\ do uruchamiania poleceń systemowych

podobnie Zaburzenie Moduł ma wiele funkcji, które pozwala interakcja z systemem. Niektóre funkcje tego modułu podano poniżej

  • Move () \\, aby przenieść plik
  • copy () \\, aby skopiować plik
  • rmtree () \\, aby usunąć wszystkie pliki w katalogu i podkatalogie

Datetime Moduł służy do znalezienia bieżącej daty i godziny. Służy również do znalezienia tygodnia i wielu innych rzeczy. Możemy zaplanować nasze zadanie w dowolnym momencie i dacie za pomocą tego modułu. W poniższych przypadkach użycia użyjemy go, aby znaleźć tylko bieżącą datę i godzinę.

  • Datetime.dziś () \\ Aby znaleźć bieżącą datę i Czas

SELEN Moduł służy do automatyzacji rejestrowania naszej strony internetowej w procesie. Możemy automatycznie zalogować się na naszej stronie internetowej i zaktualizować ją za pomocą SELEN moduł. SELEN ma wiele wbudowanych funkcji, które służą do wykonywania różnych zadań związanych z przeglądarkami.

Jak wykonać polecenia systemowe w Python

Możemy uruchomić polecenia systemowe w Python za pomocą OS I Podproces moduły. Poniżej znajduje się składnia do uruchomienia polecenia systemu w Python

OS.system („polecenie”)

LUB

podproces.Call („Command”)

Na przykład, jeśli chcemy wymienić wszystkie pliki i katalogi w bieżącym katalogu, uruchomimy następujące polecenie w skrypcie Python

OS.System („LS”)

LUB

podproces.Call („LS”)

Jak zautomatyzować rzeczy z Pythonem

Python może być używany do automatyzacji wielu rodzajów codziennych zadań, które mogą oszczędzać czas. Tutaj zobaczymy niektóre przypadki użycia automatyzacji naszych rzeczy. Omówimy organizowanie plików w katalogu pobierania i prowadzenie kopii zapasowej naszych ważnych plików.

Umieszczenie plików w katalogu pobierania

Po pobraniu dowolnego typu pliku domyślnie przechodzi on w katalog pobierania. Kiedy musimy znaleźć dowolny plik, może to powodować problem, ponieważ istnieje wiele rodzajów plików zmieszanych w katalogu pobierania. Teraz napiszemy skrypt Pythona, aby zautomatyzować system w taki sposób, aby różne typy plików (e.G. MP3, PNG, XLS itp.) Idzie w różnych katalogach. Kompletny kod jest podany poniżej. Ten kod sprawdzi każdy typ pliku jeden po drugim, a następnie utworzy odpowiedni katalog. Następnie przeniesie plik do pokrewnych katalogów (e.g… plik mp3 zostanie wdrożony do katalogu „audio”).

Import OS
Zaburzenie importu
Importuj datetime
podczas gdy 1:
#Calculowanie aktualnej godziny, minuty i drugiego
Dzisiaj = DateTime.Datetime.Dzisiaj()
Dzisiaj = Str (dzisiaj)
current_hour = dzisiaj [11:13]
current_minute = dzisiaj [14:16]
current_sec = dzisiaj [17:19]
# Upewnienie się, że system ustanowi pliki o 08:00
Jeśli current_hour == '08' i current_minute == '00' i current_sec == '00':
# Zmiana katalogu do pobrania
OS.CHDIR („ścieżka_to_download_directory”)
# 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
Jeśli '.MP3 'w nazwie pliku:
# Tworzenie katalogu „audio”, jeśli nie istnieje
Jeśli nie OS.ścieżka.istnieje („audio”):
OS.mkdir („audio”)
# przenoszenie pliku w katalogu „audio”
Zaburzenie.ruch (nazwa pliku, „audio”)
# Wybór plików MP4
elif '.MP4 'w nazwie pliku:
# Tworzenie katalogu „wideo”, jeśli nie istnieje
Jeśli nie OS.ścieżka.istnieje („wideo”):
OS.mkdir („wideo”)
# przenoszenie pliku w katalogu „wideo”
Zaburzenie.ruch (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”)
# przenoszący plik w katalogu pdf
Zaburzenie.ruch (nazwa pliku, „PDF”)
# Wybór plików JPG i PNG
elif '.jpg „w nazwie pliku lub”.png 'w nazwie pliku:
# Tworzenie katalogu „zdjęć”, jeśli nie istnieje
Jeśli nie OS.ścieżka.istnieje („zdjęcia”):
OS.mkdir („zdjęcia”)
# przenoszenie pliku w katalogu „Pictures”
Zaburzenie.ruch (nazwa pliku, „zdjęcia”)
# Wybór 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”)
# przenoszący plik w katalogu „Excel”
Zaburzenie.ruch (nazwa pliku, „excel”)
# Wybór '.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”)
# przenoszący plik w katalogu „Power Point”
Zaburzenie.ruch (nazwa pliku, „Power Point”)
# Wybór '.Pliki dokumentów
elif '.Docx 'w nazwie pliku:
# Tworzenie katalogu „pliku słów”, jeśli nie istnieje
Jeśli nie OS.ścieżka.istnieje („plik słów”):
OS.mkdir („plik słów”)
# przenoszenie pliku w katalogu „pliku słów”
Zaburzenie.ruch (nazwa pliku, „plik słów”)

Po pierwsze, zaoszczędzimy bieżący czas w różnych zmiennych, a następnie sprawdzimy, czy czas jest dokładny '08: 00 '. Program sprawdzi czas codziennie i uruchomi kod, jeśli czas wynosi '08: 00 ', wówczas uruchomi się kod główny. W kodzie głównym przede wszystkim zmieniamy nasz katalog na pobieranie katalogu. Tutaj zapisamy wszystkie nazwy plików na liście o nazwie pliki. Teraz przeczytamy wszystkie pliki jeden po drugim i odfiltrować tylko pliki. Będziemy zignorować katalogi, ponieważ zamierzamy zorganizować 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 to mp3, sprawdzimy katalog „audio” istnieje lub nie. Jeśli odpowiedni katalog nie istnieje, utworzymy katalog. Po utworzeniu katalogu przeniesiemy nasz plik w tym katalogu. W ten sposób wszystkie pliki można przenieść do odpowiednich katalogów.

Ten kod będzie działał w sposób ciągły i będzie sprawdzany, czy czas wynosi '08: 00 ', czy nie. Codziennie w '08: 00 'pliki będą ustawione automatycznie. Ten kod można zaplanować za każdym razem, gdy uruchamiasz system za pomocą crontab. Crontab został wyjaśniony poniżej.

Automatycznie tworz kopię zapasową plików za pomocą poleceń systemowych

Masz kilka ważnych plików w katalogu związanym z Twoim projektem i w jakiś sposób niektóre pliki są usuwane. Wtedy co zrobisz? W takiej sytuacji ważne jest tworzenie kopii zapasowej plików. Ale tworzenie kopii zapasowej plików jest naprawdę nudne i zadanie czasowe. To zadanie można wykonać automatycznie, pisząc skrypt Python. Poniżej znajduje się kod do wykonania tego zadania. Ten kod przekonwertuje każdy plik na plik ZIP, wówczas utworzy katalog kopii zapasowej, jeśli nie istnieje. Następnie plik ZIP zostanie przeniesiony do katalogu kopii zapasowych.

Import OS
Importuj datetime
podczas gdy 1:
# Oszczędzanie aktualnego czasu
Dzisiaj = DateTime.Datetime.Dzisiaj()
Dzisiaj = Str (dzisiaj)
current_hour = dzisiaj [11:13]
current_minute = dzisiaj [14:16]
current_sec = dzisiaj [17:19]
# Upewnienie się, że kod będzie działał dokładnie '08: 00 '
Jeśli current_hour == '08' i current_minute == '00' i current_sec == '00':
# Zmiana katalogu na dokumenty
OS.CHDIR („ścieżka_to_documents_directory”)
# Zapisywanie wszystkich nazw plików na liście
pliki = OS.Listdir (OS.getCwd ())
# Tworzenie katalogu „kopii zapasowej”, jeśli nie istnieje
Jeśli nie OS.ścieżka.istnieje („kopia zapasowa”):
OS.Mkdir („Backup”)
dla plików w plikach:
# ignorowanie katalogów
Jeśli nie OS.ścieżka.isdir (plik):
# Definiowanie nazwy pliku bez spacji
Plik original_name =
file = plik.podział(" ")
plik_name = "".dołącz (plik)
# Definiowanie ZIP_FILEName
ZIP_FILE_NAME = FILE_NAME+".zamek błyskawiczny"
# Sprawdzanie, czy plik już istnieje w katalogu kopii zapasowej, czy nie
Jeśli nie OS.ścieżka.ISTSS („Backup/”+Zip_file_name):
# Zmiana nazwy pliku bez spacji
OS.Zmień nazwę (nazwa_ oryginalnego, nazwa_pliku)
# Tworzenie pliku pocztowego za pomocą polecenia systemowego
OS.System („Zip”+ZIP_FILE_NAME+„”+FILE_NAME)
#pokierowanie pliku zip w katalogu kopii zapasowej za pomocą polecenia systemowego
OS.System („MV”+ZIP_FILE_NAME+„Backup”)
# Zmiana nazwy pliku na oryginalną nazwę
OS.Zmień nazwę (nazwa_pliku, nazwa oryginalna)

Po pierwsze, zaoszczędzimy bieżący czas w zmiennych, a następnie sprawdzimy, czy czas wynosi '08: 00 '. Jeśli czas jest dokładny '08: 00 ', to główny skrypt uruchomi. W głównym kodeksie, przede wszystkim do katalogu, w którym obecne są ważne pliki. Następnie zapisujemy wszystkie nazwy plików na liście. Teraz utworzymy katalog „tworzenie kopii zapasowych”, w którym zapiszymy wszystkie pliki zip. Jeśli ten katalog już istnieje, zignorujemy to. Teraz przeczytamy każdy plik i sprawdzimy, czy są to pliki, czy nie. Katalogi zostaną zignorowane, a pliki zostaną rozważone.

Aby utworzyć plik zip pliku za pomocą polecenia systemowego, przede wszystkim zmienimy nazwę tego pliku bez przestrzeni jako nazwy pliku z przestrzeniami, jest uważany za inny plik na każdej przestrzeni, gdy wpadnie na polecenie systemowe za pomocą skryptu Python. Nazwa pliku jest zapisywana w zmiennej „oryginal_filename”, a plik jest przemianowany bez spacji. Teraz zdefiniujemy nazwę pliku zip taka sama jak nazwa pliku z rozszerzeniem '.zamek błyskawiczny'.

Następnie użyjemy polecenia systemowego „ZIP”, aby zapakować ten plik, a następnie przeniesiemy ten plik zip w katalogu „kopii zapasowej” za pomocą polecenia systemowego „MV”. Następnie ponownie zmienimy nazwę pliku z jego oryginalną nazwą z przestrzeniami. Ten kod zostanie zaplanowany w systemie, który będzie działał za każdym razem automatycznie po uruchomieniu systemu za pomocą crontab.

Zautomatyzuj uruchamianie skryptu za pomocą crontab

Napisaliśmy powyżej skrypty automatyzacji. Teraz chcemy uruchomić te skrypty automatycznie, gdy nasz system się uruchamia. Aby to zrobić, dodajemy nasz skrypt w crontab. Aby dodać zadanie w crontab, wykonaj następujące kroki

Po pierwsze, wpisz następujące polecenie, aby edytować plik crontab

Ubuntu@ubuntu: ~ $ crontab -e

-E flaga 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/Path/to/Python/Script

Będzie to uruchomione automatycznie skrypt Python za każdym razem, gdy uruchomisz system.

Wniosek

W tym artykule wyjaśniono znaczenie automatyzacji w życiu praktycznym. Czytając ten artykuł, masz pomysł, w jaki sposób możesz zautomatyzować swoje proste zadania, które codziennie wykonujesz. Zdecydowanie powinieneś wyszukać więcej bibliotek i funkcji Python, aby uzyskać lepszą i łatwą automatyzację.