Automatyzacja zadań z użyciem biblioteki os i shutil
Zarządzanie plikami i katalogami
Biblioteka os oraz shutil w Pythonie służą do operacji na plikach i katalogach, takich jak ich tworzenie, usuwanie czy przenoszenie. Umożliwiają one automatyzację wielu zadań związanych z organizacją zasobów na dysku. Przykład zastosowania:
Python1 2 3 4 5 6 7 8import os import shutil # Tworzenie nowego katalogu os.makedirs('nowy_katalog', exist_ok=True) # Kopiowanie pliku shutil.copy('plik.txt', 'nowy_katalog/plik.txt')
Te operacje mogą być automatycznie wykonywane w odpowiednich momentach, np. podczas uruchomienia skryptu w środowisku produkcyjnym.
Zobacz też
- Asynchroniczność w Pythonie - wprowadzenie do asyncio
- List Comprehension w Pythonie - praktyczne przykłady
- Testowanie jednostkowe w Pythonie - wprowadzenie do unittest
Skrypty automatyzujące za pomocą subprocess
Wykonywanie poleceń w systemie operacyjnym
Moduł subprocess pozwala na wykonywanie poleceń systemowych z poziomu skryptu Pythona. To przydatne przy potrzeby zintegrowania poleceń systemowych z logiką aplikacji:
Python1 2 3 4 5import subprocess # Uruchomienie polecenia systemowego result = subprocess.run(['ls', '-l'], capture_output=True, text=True) print(result.stdout)
Dzięki temu możemy włączać narzędzia CLI w procesie automatyzacji, co jest nieocenione w zaawansowanych procesach deploymentu i monitoringu.
Web scraping z BeautifulSoup i requests
Automatyzacja pobierania i przetwarzania danych z sieci
Z pomocą BeautifulSoup i requests możemy zautomatyzować proces pobierania i analizy danych ze stron internetowych. Przykład użycia:
Python1 2 3 4 5 6 7 8 9 10import requests from bs4 import BeautifulSoup response = requests.get('https://www.example.com') soup = BeautifulSoup(response.text, 'html.parser') # Wyszukiwanie i wypisanie wszystkich linków na stronie links = soup.find_all('a') for link in links: print(link.get('href'))
Służy to często do tworzenia baz danych lub wyciągania informacji potrzebnych w analizach biznesowych.
Harmonogramowanie zadań z schedule
Zarządzanie cyklicznym wykonywaniem zadań
Biblioteka schedule pozwala na łatwe definiowanie zadań, które mają być wykonywane w określonych odstępach czasu:
Python1 2 3 4 5 6 7 8 9 10 11import schedule import time def praca_periodyczna(): print("To zadanie wykonuje się co 10 sekund.") schedule.every(10).seconds.do(praca_periodyczna) while True: schedule.run_pending() time.sleep(1)
To idealne rozwiązanie do regularnych zadań jak regularne raporty czy sprawdzanie statusów systemu.
Podsumowanie
Automatyzacja w Pythonie to nie tylko redukcja czasu pracy, ale także zwiększenie dokładności i efektywności wykonywanych zadań. Wykorzystanie biblioteki os, shutil, subprocess, BeautifulSoup, requests oraz schedule to tylko początek ogromnych możliwości, jakie daje ten język. Aby dowiedzieć się więcej na temat zaawansowanych zastosowań Pythona, sprawdź także inne artykuły z naszego zbioru. Zaczynając od automatyzacji, śmiało możesz przejść do złożonych projektów, wykorzystując całą moc, jaką oferuje Python i jego ekosystem.



