1.
Batch Rename Files
import os
def batch_rename_files(directory, new_name):
for count, filename in enumerate([Link](directory)):
extension = [Link](filename)[1]
new_filename = f"{new_name}_{count+1}{extension}"
old_path = [Link](directory, filename)
new_path = [Link](directory, new_filename)
[Link](old_path, new_path)
directory = "/path/to/your/directory"
new_name = "new_filename"
batch_rename_files(directory, new_name)
2. Backup Files and Folders
import shutil
import os
from datetime import datetime
def backup_files_and_folders(source, destination):
timestamp = [Link]().strftime("%Y%m%d%H%M%S")
backup_destination = f"{destination}_backup_{timestamp}"
[Link](source, backup_destination)
source = "/path/to/your/source"
destination = "/path/to/your/destination"
backup_files_and_folders(source, destination)
3. Move Files Based on Extension
import os
import shutil
def move_files_based_on_extension(source_directory, target_directory, extension):
if not [Link](target_directory):
[Link](target_directory)
for filename in [Link](source_directory):
if [Link](extension):
[Link]([Link](source_directory, filename), target_directory)
source_directory = "/path/to/source"
target_directory = "/path/to/target"
extension = ".txt"
move_files_based_on_extension(source_directory, target_directory, extension)
4. Organize Files into Folders by Date
import os
import shutil
from datetime import datetime
def organize_files_by_date(directory):
for filename in [Link](directory):
file_path = [Link](directory, filename)
if [Link](file_path):
modification_time = [Link](file_path)
date_folder = [Link](modification_time).strftime('%Y-%m-%d')
date_folder_path = [Link](directory, date_folder)
if not [Link](date_folder_path):
[Link](date_folder_path)
[Link](file_path, date_folder_path)
directory = "/path/to/your/directory"
organize_files_by_date(directory)
5. Monitor Directory Changes
import time
from [Link] import Observer
from [Link] import FileSystemEventHandler
class MonitorHandler(FileSystemEventHandler):
def on_modified(self, event):
print(f"Modified: {event.src_path}")
def on_created(self, event):
print(f"Created: {event.src_path}")
def on_deleted(self, event):
print(f"Deleted: {event.src_path}")
directory_to_monitor = "/path/to/your/directory"
event_handler = MonitorHandler()
observer = Observer()
[Link](event_handler, directory_to_monitor, recursive=True)
[Link]()
try:
while True:
[Link](1)
except KeyboardInterrupt:
[Link]()
[Link]()
6. Send Automatic Emails with Attachments
import smtplib
from [Link] import MIMEMultipart
from [Link] import MIMEText
from [Link] import MIMEBase
from email import encoders
def send_email_with_attachment(smtp_server, port, sender_email, receiver_email, subject,
body, attachment_path, login, password):
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject
[Link](MIMEText(body, 'plain'))
attachment = open(attachment_path, "rb")
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f"attachment; filename=
{[Link](attachment_path)}")
[Link](part)
server = [Link](smtp_server, port)
[Link]()
[Link](login, password)
text = msg.as_string()
[Link](sender_email, receiver_email, text)
[Link]()
smtp_server = "[Link]"
port = 587
sender_email = "your_email@[Link]"
receiver_email = "receiver_email@[Link]"
subject = "Subject"
body = "Body of the email"
attachment_path = "/path/to/your/attachment"
login = "your_email@[Link]"
password = "your_password"
send_email_with_attachment(smtp_server, port, sender_email, receiver_email, subject,
body, attachment_path, login, password)
7. Periodically Download Files from the Internet
import requests
import time
def download_file(url, save_path):
r = [Link](url)
with open(save_path, 'wb') as f:
[Link]([Link])
url = "[Link]
save_path = "/path/to/your/save/[Link]"
interval = 3600 # Interval in seconds (e.g., 3600 seconds = 1 hour)
while True:
download_file(url, save_path)
[Link](interval)
8. Convert CSV Files to Excel
import pandas as pd
def convert_csv_to_excel(csv_file, excel_file):
df = pd.read_csv(csv_file)
df.to_excel(excel_file, index=False)
csv_file = "/path/to/your/[Link]"
excel_file = "/path/to/your/[Link]"
convert_csv_to_excel(csv_file, excel_file)
9. Combine Multiple CSV Files into One
import pandas as pd
import os
def combine_csv_files(directory, output_file):
all_files = [[Link](directory, f) for f in [Link](directory) if
[Link]('.csv')]
combined_df = [Link]([pd.read_csv(f) for f in all_files])
combined_df.to_csv(output_file, index=False)
directory = "/path/to/your/csv/files"
output_file = "/path/to/your/[Link]"
combine_csv_files(directory, output_file)
10. Generate PDF Reports from Data
import pandas as pd
from fpdf import FPDF
def generate_pdf_report(data, output_pdf):
class PDF(FPDF):
def header(self):
self.set_font('Arial', 'B', 12)
[Link](0, 10, 'PDF Report', 0, 1, 'C')
def footer(self):
self.set_y(-15)
self.set_font('Arial', 'I', 8)
[Link](0, 10, f'Page {self.page_no()}', 0, 0, 'C')
def chapter_title(self, title):
self.set_font('Arial', 'B', 12)
[Link](0, 10, title, 0, 1, 'L')
[Link](10)
def chapter_body(self, body):
self.set_font('Arial', '', 12)
self.multi_cell(0, 10, body)
[Link]()
pdf = PDF()
pdf.add_page()
pdf.chapter_title('Data Report')
pdf.chapter_body(data.to_string())
[Link](output_pdf)
data = [Link]({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [24, 27, 22],
'City': ['New York', 'Los Angeles', 'Chicago']
})
output_pdf = "/path/to/your/[Link]"
generate_pdf_report(data, output_pdf)