20 نص برمجي بلغة بايثون لأتمتة عملك

هل سئمت من أداء المهام المتكررة في روتين عملك اليومي؟ بايثون، ببساطتها وتعدد استخداماتها، يمكن أن تكون الحل لمشكلتك.

في هذه المقالة، سنستكشف 20 نصًا برمجيًا لـ Python بالإضافة إلى أكوادها البرمجية التي يمكن أن تساعدك في أتمتة المهام المختلفة وتعزيز إنتاجيتك. سواء كنت مطورًا، أو محلل بيانات، أو مجرد شخص يتطلع إلى تبسيط سير عمله، فإن هذه البرامج النصية ستوفر لك كل ما تحتاجه.

بايثون هي لغة برمجة شعبية معروفة ببساطتها وسهولة قراءتها. فهو يوفر مجموعة كبيرة من المكتبات والوحدات النمطية التي تجعله خيارًا ممتازًا لأتمتة المهام المختلفة.

دعنا نتعمق في عالم الأتمتة ونكتشف 20 نصًا برمجيًا لـ Python يمكنها تبسيط عملك وتوفير الوقت والجهد.

أتمتة إدارة الملفات

1 — فرز الملفات في الدليل

# كود بايثون لفرز الملفات في الدليل حسب امتدادها
import os
from shutil import move
def sort_files(directory_path):
for filename in os.listdir(directory_path):
if os.path.isfile(os.path.join(directory_path, filename)):
file_extension = filename.split('.')[-1]
destination_directory = os.path.join(directory_path, file_extension)
if not os.path.exists(destination_directory):
os.makedirs(destination_directory)
move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename))

ينظم برنامج بايثون النصي الملفات في الدليل عن طريق فرزها في أدلة فرعية بناءً على امتدادات الملفات الخاصة بها. فهو يحدد امتداد الملف وينقل الملف إلى الدليل الفرعي المناسب. يمكن أن يكون هذا مفيدًا لترتيب مجلد التنزيلات أو تنظيم الملفات لمشروع معين.

2 — إزالة المجلدات الفارغة

# برنامج بايثون لإزالة المجلدات الفارغة في الدليل
import os
def remove_empty_folders(directory_path):
for root, dirs, files in os.walk(directory_path, topdown=False):
for folder in dirs:
folder_path = os.path.join(root, folder)
if not os.listdir(folder_path):
os.rmdir(folder_path)

يبحث هذا البرنامج عن المجلدات الفارغة ويحذفها داخل دليل محدد. يمكن أن يساعدك في الحفاظ على بنية مجلد نظيفة ومرتبة، خاصة عند التعامل مع مجموعات كبيرة من البيانات.

1.3 — إعادة تسمية ملفات متعددة

# برنامج بايثون لإعادة تسمية ملفات متعددة في الدليل
import os
def rename_files(directory_path, old_name, new_name):
for filename in os.listdir(directory_path):
if old_name in filename:
new_filename = filename.replace(old_name, new_name)
os.rename(os.path.join(directory_path, filename), os.path.join(directory_path, new_filename))

يسمح لك برنامج بايثون هذا بإعادة تسمية ملفات متعددة في دليل في وقت واحد. يأخذ الاسم القديم والاسم الجديد كمدخلات ويستبدل الاسم القديم بالاسم الجديد لجميع الملفات التي تطابق المعايير المحددة.

تجريف الويب باستخدام بايثون

1 — استخراج البيانات من موقع الويب

# برنامج بايثون لتجريد الويب لاستخراج البيانات من موقع الويب
import requests
from bs4 import BeautifulSoup
def scrape_data(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# هنا الكود الخاص بك لاستخراج البيانات ذات الصلة من الموقع

يستخدم نص بايثون هذا مكتبات requests و BeautifulSoup لاستخراج البيانات من موقع الويب. يقوم بجلب محتوى صفحة الويب ويستخدم BeautifulSoup لتحليل HTML. يمكنك تخصيص البرنامج النصي لاستخراج بيانات محددة مثل العناوين أو معلومات المنتج أو الأسعار.

2 — أتمتة عمليات تقديم النماذج

# برنامج بايثون لأتمتة عمليات إرسال النماذج على موقع على شبكة الإنترنت
import requests
def submit_form(url, form_data):
response = requests.post(url, data=form_data)
if response.status_code == 200:
# الكود الخاص بك هنا للتعامل مع الاستجابة بعد إرسال النموذج

يقوم برنامج Python النصي بأتمتة عمليات إرسال النماذج على موقع الويب عن طريق إرسال طلبات POST مع بيانات النموذج. يمكنك تخصيص البرنامج النصي من خلال توفير عنوان URL وبيانات النموذج الضرورية المراد إرسالها.

معالجة النص والتلاعب به

1 — عد الكلمات في ملف نصي

# برنامج بايثون لحساب الكلمات في ملف نصي
def count_words(file_path):
with open(file_path, 'r') as f:
text = f.read()
word_count = len(text.split())
return word_count

يقرأ برنامج بايثون النصي ملفًا نصيًا ويحسب عدد الكلمات التي يحتوي عليها. يمكن استخدامه لتحليل محتوى المستندات النصية بسرعة أو لتتبع عدد الكلمات في مشروع الكتابة.

2 البحث عن النص واستبداله

# برنامج بايثون للبحث عن النص واستبداله في ملف
def find_replace(file_path, search_text, replace_text):
with open(file_path, 'r') as f:
text = f.read()
modified_text = text.replace(search_text, replace_text)
with open(file_path, 'w') as f:
f.write(modified_text)

يبحث برنامج بايثون النصي هذا عن نص محدد في ملف ويستبدله بالنص المطلوب. يمكن أن يكون مفيدًا لاستبدال عبارات معينة أو تصحيح الأخطاء في الملفات النصية الكبيرة.

3 توليد نص عشوائي

# برنامج بايثون لإنشاء نص عشوائي
import random
import string
def generate_random_text(length):
letters = string.ascii_letters + string.digits + string.punctuation
random_text = ''.join(random.choice(letters) for i in range(length))
return random_text

يقوم برنامج بايثون النصي بإنشاء نص عشوائي بطول محدد. يمكن استخدامه لأغراض الاختبار والسخرية أو حتى كمصدر لمحتوى عشوائي للكتابة الإبداعية.

أتمتة رسائل البريد الإلكتروني

1 – إرسال رسائل بريد إلكتروني مخصصة

# البرنامج Python لإرسال رسائل بريد إلكتروني مخصصة إلى قائمة المستفيدين
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_personalized_email(sender_email, sender_password, recipients, subject, body):
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, sender_password)
for recipient_email in recipients:
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
message.attach(MIMEText(body, 'plain'))
server.sendmail(sender_email, recipient_email, message.as_string())
server.quit()

يتيح لك هذا البرنامج إرسال رسائل بريد إلكتروني مخصصة إلى قائمة من المستلمين. يمكنك تخصيص البريد الإلكتروني للمرسل وكلمة المرور والموضوع والجسم وقائمة رسائل البريد الإلكتروني المستلم. يرجى ملاحظة أنه لأسباب أمان ، يجب عليك استخدام كلمة مرور خاصة بالتطبيق عند العمل مع Gmail.

2 مرفقات ملفات البريد الإلكتروني

# البرنامج النصي Python لإرسال رسائل بريد إلكتروني مع مرفقات الملفات
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
def send_email_with_attachment(sender_email, sender_password, recipient_email, subject, body, file_path):
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, sender_password)
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
message.attach(MIMEText(body, 'plain'))
with open(file_path, "rb") as attachment:
part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f"attachment; filename= {file_path}")
message.attach(part)
server.sendmail(sender_email, recipient_email, message.as_string())
server.quit()

يتيح لك هذا البرنامج النصي إرسال رسائل بريد إلكتروني مع مرفقات الملفات. ما عليك سوى توفير بريد إلكتروني المرسل وكلمة المرور والبريد الإلكتروني للمستلم والموضوع والجسم والمسار إلى الملف الذي تريد إرفاقه.

3 تذكير عبر البريد الإلكتروني التلقائي

# نص Python لإرسال تذكيرات البريد الإلكتروني التلقائي
import smtplib
from email.mime.text import MIMEText
from datetime import datetime, timedelta
def send_reminder_email(sender_email, sender_password, recipient_email, subject, body, reminder_date):
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, sender_password)
now = datetime.now()
reminder_date = datetime.strptime(reminder_date, '%Y-%m-%d')
if now.date() == reminder_date.date():
message = MIMEText(body, 'plain')
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
server.sendmail(sender_email, recipient_email, message.as_string())
server.quit()

يرسل هذا البرنامج النصي تذكيرات البريد الإلكتروني التلقائي بناءً على تاريخ محدد. من المفيد إنشاء تذكيرات للمهام أو الأحداث المهمة ، مما يضمن عدم تفويتك على الموعد النهائي.

أتمتة جدول بيانات Excel

1 – القراءة والكتابة على Excel

# برنامج Python لقراءة وكتابة البيانات إلى جدول بيانات Excel
import pandas as pd
def read_excel(file_path):
df = pd.read_excel(file_path)
return df
def write_to_excel(data, file_path):
df = pd.DataFrame(data)
df.to_excel(file_path, index=False)

يستخدم هذا البرنامج النصي مكتبة Pandas لقراءة البيانات من جدول بيانات Excel وكتابة البيانات إلى ملف Excel جديد. يتيح لك العمل مع ملفات Excel برمجياً ، مما يجعل معالجة البيانات وتحليلها أكثر كفاءة.

2 تحليل البيانات وتصورها

import pandas as pd
import matplotlib.pyplot as plt
def analyze_and_visualize_data(data):
# Your code here for data analysis and visualization
pass

يستخدم هذا البرنامج النصي مكتبات Pandas و Matplotlib لإجراء تحليل البيانات وتصورها. يمكّنك من استكشاف مجموعات البيانات ، واشتقاق الرؤى ، وإنشاء تمثيلات مرئية للبيانات.

3 دمج أوراق متعددة

import pandas as pd
def merge_sheets(file_path, output_file_path):
xls = pd.ExcelFile(file_path)
df = pd.DataFrame()
for sheet_name in xls.sheet_names:
sheet_df = pd.read_excel(xls, sheet_name)
df = df.append(sheet_df)
df.to_excel(output_file_path, index=False)

يدمج هذا البرنامج النصي البيانات من أوراق متعددة داخل ملف Excel في ورقة واحدة. إنه مفيد عندما يكون لديك بيانات تقسيم عبر أوراق مختلفة ولكنك تريد توحيدها لمزيد من التحليل.

التفاعل مع قواعد البيانات

1 الاتصال بقاعدة بيانات

import sqlite3
def connect_to_database(database_path):
connection = sqlite3.connect(database_path)
return connection
def execute_query(connection, query):
cursor = connection.cursor()
cursor.execute(query)
result = cursor.fetchall()
return result

يتيح لك هذا البرنامج النصي الاتصال بقاعدة بيانات SQLite وتنفيذ الاستعلامات. يمكنك تكييفه للعمل مع أنظمة إدارة قاعدة البيانات الأخرى مثل MySQL أو PostgreSQL باستخدام برامج تشغيل قاعدة بيانات بايثون المناسبة.

2 تنفيذ استعلامات SQL

import sqlite3
def execute_query(connection, query):
cursor = connection.cursor()
cursor.execute(query)
result = cursor.fetchall()
return result

هذا البرنامج النصي هو وظيفة عامة لتنفيذ استعلامات SQL على قاعدة بيانات. يمكنك تمرير الاستعلام كوسيطة إلى الوظيفة جنبًا إلى جنب مع كائن اتصال قاعدة البيانات ، وسيعيد نتيجة الاستعلام.

3 النسخ الاحتياطي للبيانات

import shutil
def backup_database(database_path, backup_directory):
shutil.copy(database_path, backup_directory)
def restore_database(backup_path, database_directory):
shutil.copy(backup_path, database_directory)

يتيح لك هذا البرنامج النصي إنشاء نسخ احتياطية لقاعدة البيانات الخاصة بك واستعادتها عند الحاجة. إنه مقياس احترازي لحماية بياناتك القيمة من الخسارة العرضية.

أتمتة وسائل التواصل الاجتماعي

1 نشر على Twitter و Facebook

from twython import Twython
import facebook
def post_to_twitter(api_key, api_secret, access_token, access_token_secret, message):
twitter = Twython(api_key, api_secret, access_token, access_token_secret)
twitter.update_status(status=message)
def post_to_facebook(api_key, api_secret, access_token, message):
graph = facebook.GraphAPI(access_token)
graph.put_object(parent_object='me', connection_name='feed', message=message)

يستخدم هذا البرنامج النصي مكتبات Twython و Facebook-SDK لأتمتة النشر على Twitter و Facebook. يمكنك استخدامه لمشاركة التحديثات أو الإعلانات أو المحتوى من البرنامج النصي مباشرة إلى ملفات تعريف الوسائط الاجتماعية الخاصة بك.

2 مشاركة وسائل التواصل الاجتماعي تلقائيا

import random
def get_random_content():
# Your code here to retrieve random content from a list or database
pass
def post_random_content_to_twitter(api_key, api_secret, access_token, access_token_secret):
content = get_random_content()
post_to_twitter(api_key, api_secret, access_token, access_token_secret, content)
def post_random_content_to_facebook(api_key, api_secret, access_token):
content = get_random_content()
post_to_facebook(api_key, api_secret, access_token, content)

يقوم هذا البرنامج النصي بأتمتة مشاركة محتوى عشوائي على Twitter و Facebook. يمكنك تخصيصه لجلب المحتوى من قائمة أو قاعدة بيانات ومشاركتها بشكل دوري على منصات الوسائط الاجتماعية الخاصة بك.

تجريف بيانات وسائل التواصل الاجتماعي

import requests
def scrape_social_media_data(url):
response = requests.get(url)
# الكود الخاص بك هنا لاستخراج البيانات ذات الصلة من الاستجابة

يقوم هذا البرنامج النصي بإجراء عملية تجريف الويب لاستخراج البيانات من منصات الوسائط الاجتماعية. يقوم بجلب محتوى عنوان URL المقدم ثم يستخدم تقنيات مثل BeautifulSoup لتحليل HTML واستخراج البيانات المطلوبة.

أتمتة مهام النظام

1 إدارة عمليات النظام

import psutil
def get_running_processes():
return [p.info for p in psutil.process_iter(['pid', 'name', 'username'])]
def kill_process_by_name(process_name):
for p in psutil.process_iter(['pid', 'name', 'username']):
if p.info['name'] == process_name:
p.kill()

يستخدم برنامج بايثون النصي مكتبة psutil لإدارة عمليات النظام. يسمح لك باسترداد قائمة العمليات الجارية وقتل عملية معينة باسمها.

2 جدولة المهام باستخدام Cron

from crontab import CronTab
def schedule_task(command, schedule):
cron = CronTab(user=True)
job = cron.new(command=command)
job.setall(schedule)
cron.write()

يستخدم برنامج بايثون النصي مكتبة crontab لجدولة المهام باستخدام بناء جملة cron. فهو يمكّنك من أتمتة تنفيذ أوامر محددة على فترات منتظمة أو في أوقات محددة.

3 مراقبة مساحة القرص

import psutil
def check_disk_space(minimum_threshold_gb):
disk = psutil.disk_usage('/')
free_space_gb = disk.free / (230) # Convert bytes to GB
if free_space_gb < minimum_threshold_gb:
# الكود الخاص بك هنا لإرسال تنبيه (البريد الإلكتروني، الإخطار، وما إلى ذلك)
pass

يراقب هذا البرنامج مساحة القرص المتوفرة على نظامك ويرسل تنبيهًا إذا كانت المساحة أقل من الحد المحدد. إنه مفيد لإدارة مساحة القرص بشكل استباقي ومنع فقدان البيانات المحتمل بسبب عدم كفاية مساحة القرص.

أتمتة تحرير الصور

1 تغيير حجم الصورة واقتصاصها

from PIL import Image
def resize_image(input_path, output_path, width, height):
image = Image.open(input_path)
resized_image = image.resize((width, height), Image.ANTIALIAS)
resized_image.save(output_path)
def crop_image(input_path, output_path, left, top, right, bottom):
image = Image.open(input_path)
cropped_image = image.crop((left, top, right, bottom))
cropped_image.save(output_path)

يستخدم هذا البرنامج النصي مكتبة Python Imaging Library (PIL) لتغيير حجم الصور واقتصاصها. قد يكون من المفيد إعداد الصور لدرجات دقة عرض مختلفة أو حالات استخدام محددة.


اكتشاف المزيد من بايثون العربي

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Scroll to Top

اكتشاف المزيد من بايثون العربي

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading