Jak automatyzować zadania za pomocą skryptów Pythona

Jak Automatyzowac Zadania Za Pomoca Skryptow Pythona



Programiści, koderzy i programiści mogą automatyzować metody za pomocą skryptów Pythona, oszczędzając im ważny czas i wysiłek poprzez wykonywanie powtarzalnych operacji. Python to język komputerowy, podobnie jak Java, który dobrze sprawdza się w automatyzacji procesów. W porównaniu z innymi językami jest stosunkowo łatwy do nauczenia. Ma także dużą, prężną społeczność i wbudowane biblioteki umożliwiające automatyzację poszczególnych zadań.

Instalowanie Pythona

Zanim zaczniesz automatyzować zadania, zainstaluj Python na komputerze lub systemie. Aby zainstalować Pythona, musisz najpierw odwiedzić oficjalną stronę Pythona. Pamiętaj, aby podczas instalacji dodać Pythona do ścieżki systemowej PATH.







  1. Wybierz IDE lub edytor tekstu

Do tworzenia skryptów w języku Python można używać dowolnego edytora tekstu. Mimo to zintegrowane środowiska programistyczne (IDE), w tym PyCharm, Visual Studio Code czy Jupyter Notebook, mogą usprawnić ten proces dzięki takim narzędziom, jak podświetlanie składni i debugowanie. Jednak w tym artykule używamy Notepad ++.



  1. Określ zadanie, które należy zautomatyzować

Może to obejmować wszystko, od masowego wysyłania wiadomości e-mail, tworzenia raportów, pobierania plików i tworzenia kopii zapasowych.



  1. Przeszukaj biblioteki i funkcje

Przyjrzyj się funkcjom i bibliotekom, które mogą zautomatyzować podzadania.





  1. Napisz skrypt w Pythonie

Tutaj składamy wszystkie elementy, aby stworzyć kompletny działający skrypt.

  1. Zadanie

Zautomatyzuj generowanie raportów na podstawie danych przechowywanych w arkuszu kalkulacyjnym.



  1. Skrypt Pythona

Możemy użyć skryptu Pythona do odczytania danych z arkusza kalkulacyjnego i wygenerowania raportów w różnych formatach, takich jak PDF, HTML lub CSV. Dodatkowo skrypt może służyć do automatycznej dystrybucji raportów do interesariuszy za pośrednictwem poczty elektronicznej lub Slacka.

Tworzenie raportów na podstawie danych z arkusza kalkulacyjnego wymaga wielu kroków. Udostępnimy Ci uproszczony skrypt w języku Python, który wykorzystuje bibliotekę Pandas do odczytu danych z arkusza kalkulacyjnego Excel i utworzenia raportu CSV. Pamiętaj, że możemy bazować na tym skrypcie, aby tworzyć bardziej skomplikowane raporty w innych formatach i w razie potrzeby automatyzować powiadomienia e-mail lub Slack.

Zainstaluj wymagane biblioteki

Przed uruchomieniem skryptu musimy zainstalować bibliotekę Pandas, jeśli nie jest ona jeszcze zainstalowana:

pypeć zainstalować pandy openpyxl

Kod Pythona zawiera funkcję o nazwie generate_report(), która przyjmuje dwa argumenty: ścieżkę do arkusza kalkulacyjnego Excel zawierającego dane o wynagrodzeniach pracowników oraz ścieżkę do pliku CSV, w którym powinien zostać zapisany raport.

Funkcja najpierw wczytuje arkusz kalkulacyjny Excel do obiektu Pandas DataFrame. Następnie w razie potrzeby przetwarza i analizuje dane. Suma kolumny „Wynagrodzenie” jest w tym przypadku obliczana przez funkcję.

Następnie funkcja tworzy ciąg raportu zawierający całkowite wynagrodzenie wszystkich pracowników. Na koniec funkcja zapisuje raport do pliku CSV.

Główna funkcja kodu określa wejściowy plik Excel i wyjściowy plik raportu, a następnie wywołuje funkcję generate_report() w celu utworzenia raportu.

GenReport.py:
importuj pandy Jak pd_obj
def generuj_raport ( emp_salary_data, emp_salary_report_file ) :
próbować:
# Odczytaj dane z arkusza kalkulacyjnego Excel
df_obj = pd_obj.read_excel ( emp_salary_data )
# W razie potrzeby wykonaj przetwarzanie i analizę danych
# Dla uproszczenia załóżmy, że chcemy obliczyć sumę kolumny
wynagrodzenie_total = df_obj [ 'Wynagrodzenie' ] .suma ( )
# Utwórz raport
raport_wynagrodzeń = f „Suma wynagrodzeń wszystkich pracowników: {salary_total}”
# Zapisz raport w pliku CSV
z otwartym ( emp_plik_raportu_wynagrodzeń, 'w' ) Jak csv_obj:
csv_obj.write ( raport_wynagrodzeń )

wydrukować ( F „Raport wygenerowany i zapisany w pliku {emp_salary_report_file}” )
z wyjątkiem wyjątku Jak były:
wydrukować ( F „Wystąpił błąd: {str(e)}” )
Jeśli __imię__ == '__główny__' :
# Określ wejściowy plik Excel i wyjściowy plik raportu
emp_salary_data = „wejściowe_dane_pracownika.xlsx”
emp_plik_raportu_wynagrodzeń = 'suma_wynagrodzeń.csv'
# Wywołaj funkcję generate_report, aby utworzyć raport
Generuj raport ( emp_salary_data, emp_salary_report_file )

Oto dane w wejściowych kartotekach pracowników:

Przetestuj skrypt

Musimy dokładnie przetestować skrypt po jego napisaniu, aby upewnić się, że działa zgodnie z zamierzeniami. Do testowania pliku, który automatyzujemy, używamy kompilatora Pythona. W tym przypadku plik ten pomyślnie generuje i przechowuje raport w pliku CSV.

Zaplanuj lub uruchom skrypt

W zależności od wymagań automatyzacji skrypt Pythona możemy wykonać na różne sposoby:

  • Wykonanie ręczne: Uruchom skrypt ręcznie, wykonując go w IDE lub za pomocą wiersza poleceń, używając następującego polecenia: python GenerateReport.py .
  • Zaplanowane zadania (Windows): Możemy uruchamiać skrypt w określonych momentach lub odstępach czasu, korzystając z Harmonogramu zadań systemu Windows. Korzystając z usługi Windows możemy także wywołać określone zdarzenie.
  • Zadania Cron (Linux/macOS): Możemy użyć zadań cron, aby zaplanować uruchamianie skryptu w określonych godzinach w systemach uniksowych.
  • Oparte na zdarzeniach: Możemy uruchomić Twój skrypt w odpowiedzi na określone zdarzenia, takie jak zmiany w plikach, użycie bibliotek typu watchdog lub integracja z webhookami.

Automatyzacja tworzenia kopii zapasowych MySQL za pomocą Pythona

Aby zautomatyzować proces tworzenia kopii zapasowych serwera MySQL co godzinę, możemy użyć Pythona w połączeniu z biblioteką „mysqlclient”, aby połączyć się z bazą danych MySQL i utworzyć kopie zapasowe, a także możemy użyć harmonogramu zadań, takiego jak Cron (w systemie Unix systemy), aby uruchamiać skrypt Pythona w odstępach godzinnych. Poniżej znajduje się skrypt Pythona, którego możesz użyć w tym celu:

Krok 1: Zainstaluj wymagane biblioteki

Musimy zainstalować bibliotekę „mysqlclient”, aby zapewnić łączność z MySQL. Możemy go zainstalować za pomocą pip:

Pypeć zainstalować klient mysql

pypeć zainstalować parser konfiguracji

Krok 2: Utwórz plik konfiguracyjny

Utwórz plik tekstowy (np. mysqlconfig.ini) do przechowywania informacji o połączeniu z MySQL, w tym hasła. Oto przykładowy wygląd pliku „mysqlconfig.ini”:

[ mysql ]
mySQL_DB_HOST = host lokalny
mySQL_DB_USERNAME = root
mySQL_DB_HASŁO = 1234
mySQL_DB_DATABASE_NAME = brandw9_data

Krok 3: Sprawdź katalog bin MySQL :

Polecenie „mysqldump” powinno znajdować się w katalogu bin MySQL. Sprawdź, czy PATH systemu zawiera katalog bin. Możemy zmodyfikować zmienną środowiskową PATH, aby uwzględnić lokalizację bin MySQL.

W systemie Windows: Możemy edytować systemową ścieżkę PATH, szukając opcji „Zmienne środowiskowe” w menu „Start” i dodając katalog bin MySQL (np. C:\Program Files\MySQL\MySQL Server X.X\bin) do zmiennej PATH.

Krok 3: Napisz skrypt w Pythonie

Utwórz skrypt w języku Python, np. MySQLBackup.py, aby zautomatyzować proces tworzenia kopii zapasowej MySQL. W razie potrzeby zastąp symbole zastępcze szczegółami połączenia z bazą danych i ścieżkami plików.

podproces importu Jak sp
z daty i godziny importu datetime Jak dt_obj
zaimportuj parser konfiguracji Jak mysql_confg
# Szczegóły połączenia z bazą danych MySQL
# Załaduj szczegóły połączenia MySQL z pliku konfiguracyjnego
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( „mysqlconfig.ini” ) # W razie potrzeby dostosuj ścieżkę
mySQL_DB_HOST = config_obj.get ( „mysql” , „mySQL_DB_HOST” )
mySQL_DB_USERNAME = config_obj.get ( „mysql” , „nazwa użytkownika_mySQL_DB_USER” )
mySQL_DB_PASSWORD = config_obj.get ( „mysql” , „mySQL_DB_HASŁO” )
mySQL_DB_DATABASE_NAME = config_obj.get ( „mysql” , „mySQL_DB_DATABASE_NAME” )
# Katalog kopii zapasowych
bk_dir = „katalog_kopii zapasowej/”
# Uzyskaj aktualną datę i godzinę nazwy pliku kopii zapasowej
znaczniki czasu = dt_obj.now ( ) .strftime ( „%Y%m%d%H%M%S” )
# Zdefiniuj nazwę pliku kopii zapasowej
my_sql_bk = f „kopia zapasowa_{znacznik czasu_oj}.sql”
# Polecenie zrzutu MySQL
mysql_dump_cmd = f „mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}”

próbować:
# Wykonaj polecenie zrzutu MySQL, aby utworzyć kopię zapasową
sp.run ( mysql_dump_cmd, powłoka =Prawda, sprawdzać =Prawda )
wydrukować ( F „Kopia zapasowa została ukończona i zapisana jako „{my_sql_bk}” w „{bk_dir}”” )
z wyjątkiem sp.CalledProcessError Jak To jest:
wydrukować ( F „Błąd podczas tworzenia kopii zapasowej: {str(e)}” )

Krok 4: Przetestuj i wykonaj kod

Krok 5: Zaplanuj skrypt za pomocą Harmonogramu zadań systemu Windows

Teraz zaplanujmy automatyczne uruchamianie skryptu Pythona za pomocą Harmonogramu zadań systemu Windows:

Uruchom Harmonogram zadań systemu Windows, wpisując „Harmonogram zadań” w pasku wyszukiwania menu „Start” lub wpisując „taskschd.msc” w oknie dialogowym „Uruchom” (Win + R).

Wybierz „Biblioteka Harmonogramu zadań” z lewego panelu Harmonogramu zadań.

W prawym okienku kliknij „Utwórz zadanie podstawowe…”, aby otworzyć „Kreatora tworzenia zadania podstawowego”.

Wprowadź nazwę i opis zadania. Następnie naciśnij „Dalej”.

Wybierz „Codziennie” jako typ wyzwalacza (nawet jeśli chcesz uruchamiać go co godzinę, pozwala to ustawić interwał powtarzania). Następnie kliknij „Dalej”.

Określ datę i godzinę rozpoczęcia zadania tworzenia kopii zapasowej.

Wybierz opcję „Powtarzaj zadanie co:” i ustaw ją na 1 godzinę.

Ustaw czas trwania na „1 dzień”. Następnie kliknij „Dalej”.

Wybierz „Uruchom program”, a następnie naciśnij „Dalej”.

Przeglądaj i wybierz plik wykonywalny Pythona (python.exe), klikając „Przeglądaj”.

Przeglądaj i wybierz plik wykonywalny Pythona (python.exe), klikając „Przeglądaj”.

Wpisz pełną ścieżkę do skryptu Pythona (np. C:\path\to\mysql_backup.py) w polu „Dodaj argumenty”.

Wpisz katalog zawierający skrypt Pythona (np. C:\ścieżka\do\) w polu „Rozpocznij w (opcjonalnie)”.

Kliknij „Dalej”.

Przejrzyj ustawienia zadania i kliknij „Zakończ”, aby utworzyć zadanie.

Wniosek

Wykorzystując narzędzia Pythona i jego najlepsze praktyki, potrafimy budować niezawodne i skuteczne skrypty automatyzujące, które skracają czas pracy i poświęcają go na ważniejsze działania. Podaliśmy kilka przykładów, które z pewnością pomogą Ci zautomatyzować zadania za pomocą skryptów Python.