Python is one of the most powerful and popular programming languages for automation. Thanks to its simple syntax, rich ecosystem, and vast libraries, it allows users to write scripts to automate tedious and repetitive tasks. This document explores various categories of automation tasks, such as file handling, system operations, web scraping, email automation, task scheduling, and data parsing. We'll demonstrate how Python simplifies these everyday problems with working code examples.
# Install pip packages
pip install requests
pip install beautifulsoup4
pip install schedule
pip install openpyxl
import os
folder = 'downloads'
for index, filename in enumerate(os.listdir(folder)):
if filename.endswith('.txt'):
new_name = f"document_{index}.txt"
os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))
import os
import shutil
directory = 'downloads'
for file in os.listdir(directory):
if file.endswith('.jpg'):
shutil.move(os.path.join(directory, file), os.path.join(directory, 'images', file))
elif file.endswith('.pdf'):
shutil.move(os.path.join(directory, file), os.path.join(directory, 'documents', file))
import os
import platform
if platform.system() == "Windows":
os.system("shutdown /s /t 60") # Shutdown after 60 seconds
elif platform.system() == "Linux":
os.system("shutdown -h +1")
import zipfile
import os
def backup_folder(folder):
with zipfile.ZipFile('backup.zip', 'w') as zipf:
for foldername, subfolders, filenames in os.walk(folder):
for filename in filenames:
zipf.write(os.path.join(foldername, filename),
os.path.relpath(os.path.join(foldername, filename), folder))
backup_folder('my_documents')
import requests
from bs4 import BeautifulSoup
url = "https://news.ycombinator.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for title in soup.find_all("a", class_="storylink"):
print(title.text)
import requests
from bs4 import BeautifulSoup
import os
url = "https://example.com/gallery"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for img in soup.find_all("img"):
img_url = img.get("src")
if img_url:
img_data = requests.get(img_url).content
filename = os.path.basename(img_url)
with open(filename, 'wb') as f:
f.write(img_data)
import smtplib
from email.mime.text import MIMEText
sender = "your_email@example.com"
receiver = "receiver@example.com"
subject = "Automated Email"
body = "This email was sent using Python automation."
msg = MIMEText(body)
msg["Subject"] = subject
msg["From"] = sender
msg["To"] = receiver
with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
server.login(sender, "your_password")
server.sendmail(sender, receiver, msg.as_string())
import imaplib
import email
mail = imaplib.IMAP4_SSL("imap.gmail.com")
mail.login("your_email@example.com", "your_password")
mail.select("inbox")
status, data = mail.search(None, 'ALL')
mail_ids = data[0].split()
for mail_id in mail_ids[-5:]:
status, msg_data = mail.fetch(mail_id, "(RFC822)")
raw_email = msg_data[0][1]
msg = email.message_from_bytes(raw_email)
print("Subject:", msg["subject"])
from openpyxl import load_workbook
wb = load_workbook("report.xlsx")
sheet = wb.active
for row in sheet.iter_rows(min_row=1, max_row=5):
for cell in row:
print(cell.value, end=" ")
print()
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Summary"
ws["A1"] = "Name"
ws["B1"] = "Score"
ws.append(["Alice", 85])
ws.append(["Bob", 90])
wb.save("scores.xlsx")
import schedule
import time
def job():
print("Running scheduled job...")
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
schedule.every().day.at("10:30").do(job)
import pyperclip
pyperclip.copy("Hello from Python clipboard!")
text = pyperclip.paste()
print(text)
import pyautogui
pyautogui.moveTo(100, 100, duration=1)
pyautogui.write("Automating typing...", interval=0.1)
pyautogui.press("enter")
pyautogui.screenshot("screenshot.png")
import PyPDF2
reader = PyPDF2.PdfReader("document.pdf")
for page in reader.pages:
print(page.extract_text())
writer = PyPDF2.PdfWriter()
reader = PyPDF2.PdfReader("document.pdf")
writer.add_page(reader.pages[0])
with open("first_page.pdf", "wb") as f:
writer.write(f)
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.google.com")
search = driver.find_element("name", "q")
search.send_keys("Python automation")
search.send_keys(Keys.RETURN)
import requests
response = requests.get("https://api.github.com/users/octocat")
data = response.json()
print(data["name"], data["public_repos"])
payload = {"name": "John", "job": "Developer"}
response = requests.post("https://reqres.in/api/users", json=payload)
print(response.status_code)
print(response.json())
import os
import time
folder = "logs"
now = time.time()
for file in os.listdir(folder):
file_path = os.path.join(folder, file)
if os.stat(file_path).st_mtime < now - 7 * 86400:
os.remove(file_path)
import shutil
shutil.make_archive("old_logs", 'zip', "logs")
import logging
logging.basicConfig(level=logging.INFO)
logging.info("Automation script started.")
try:
result = 10 / 0
except ZeroDivisionError as e:
print("Error:", e)
python -m venv automation_env
source automation_env/bin/activate # or .\automation_env\Scripts\activate on Windows
def read_file(path):
with open(path, "r") as f:
return f.read()
def write_file(path, content):
with open(path, "w") as f:
f.write(content)
Python excels at automating everyday tasksβfrom file handling, data scraping, and emailing to scheduling and GUI interactions. Its extensive libraries and readable syntax allow developers and non-programmers alike to save hours of manual labor with just a few lines of code. By leveraging these scripts and best practices, you can enhance productivity, reduce errors, and focus more on creative and analytical tasks.
Whether you're automating office reports, scraping websites, or cleaning up directories, Python provides the tools and flexibility to build reliable and powerful automation pipelines.
Python is commonly used for developing websites and software, task automation, data analysis, and data visualisation. Since it's relatively easy to learn, Python has been adopted by many non-programmers, such as accountants and scientists, for a variety of everyday tasks, like organising finances.
Learning Curve: Python is generally considered easier to learn for beginners due to its simplicity, while Java is more complex but provides a deeper understanding of how programming works.
The point is that Java is more complicated to learn than Python. It doesn't matter the order. You will have to do some things in Java that you don't in Python. The general programming skills you learn from using either language will transfer to another.
Read on for tips on how to maximize your learning. In general, it takes around two to six months to learn the fundamentals of Python. But you can learn enough to write your first short program in a matter of minutes. Developing mastery of Python's vast array of libraries can take months or years.
6 Top Tips for Learning Python
The following is a step-by-step guide for beginners interested in learning Python using Windows.
Best YouTube Channels to Learn Python
Write your first Python programStart by writing a simple Python program, such as a classic "Hello, World!" script. This process will help you understand the syntax and structure of Python code.
The average salary for Python Developer is βΉ5,55,000 per year in the India. The average additional cash compensation for a Python Developer is within a range from βΉ3,000 - βΉ1,20,000.
Copyrights © 2024 letsupdateskills All rights reserved