كود: تحديد الكل
from arabic_reshaper import reshape
from bidi.algorithm import get_display
import re
# 🔄 دالة لعكس النصوص العربية من معاذ العدوان
def reverse_arabic_only(text):
# تقسيم بناءً على وسوم أو كيانات
parts = re.split(r'(\{#\d+\}|\[[^\]]+\]|<[^>]+>|%s|\{[^}]+\}|\$[A-Z_]+\$?)', text)
reversed_parts = []
for part in parts:
if re.search(r'[\u0600-\u06FF]', part):
reshaped = reshape(part)
reversed_parts.append(get_display(reshaped))
else:
reversed_parts.append(part)
return ''.join(reversed_parts)
# 📥 قراءة الملف النصي
with open("ar.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
# 🧠 تطبيق العكس العربي فقط على كل سطر
reversed_lines = [reverse_arabic_only(line.strip()) for line in lines]
# 💾 حفظ الملف الناتج
with open("ar.reversed.txt", "w", encoding="utf-8") as f:
f.write("\n".join(reversed_lines))
print("✅ تم عكس النصوص العربية فقط داخل ملف TXT بنجاح!")
ص
احفظه في ملف بأسم python ar.py
اسم الملف الذي تريد عكس النصوص العربية ( مهما كان الحجم لا يهم يقبل اي حجم )
اسم الملف المستخرج ar.reversed.txt
عند عكس ملف كبير الحجم فقط تحلى بالصبر فالعملية قد تطول الى دقائق عديدة لا تقم بالغاء العملية انتظر
حتى يتم توليد الملف الجديد ar.reversed.txt
تستطع اضافة اكواد للأستثناء من عكسها في حال احتجت الى ذالك بالدالة
parts = re.split(r'(\{#\d+\}|\[[^\]]+\]|<[^>]+>|%s|\{[^}]+\}|\$[A-Z_]+\$?)', text)