اذهب إلى المحتوى

Amjad Alsharafi

الأعضاء
  • المساهمات

    3
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    2

آخر يوم ربح فيه Amjad Alsharafi هو أغسطس 27 2018

Amjad Alsharafi حاصل على أكثر محتوى إعجابًا!

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات Amjad Alsharafi

عضو مبتدئ

عضو مبتدئ (1/3)

3

السمعة بالموقع

  1. نعم. عند استخدام بايثون2 ليس من الضروري تحديد نوع التشفير.
  2. لا، الحل جيد. تستطيعين اختصار بعض السطور: # element = element.replace("\xe2\x80\xaa", "") # element = element.replace("\xe2\x80\xac", "") # element = element.replace("\xe2\x80\xab", "") # translate يستخدم للتبديل بين الحروف لكن يمكن حذف الحروف غيرالمرغوبة # .عن طريق وضعها في الخانة الثانية element = element.translate(None, "\xe2\x80\xaa" + "\xe2\x80\xac" + "\xe2\x80\xab") بالنسبة لمشكلة عدم ظهور الحروف العربية داخل القائمة(list)، فلم أجد تفسيرا لها، لكن هناك حل. يبدو أن المشكلة غير موجودة في نسخة البايثون3 (Python3). #Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] on win32 def parse_1 (file, x=";", y="#"): f = open(file, encoding='utf-8').readlines() # ^^^^^^^ # .يجب تحديد طريقة التشفير التي يجب قراءة الملف بها # . من الممكن أن يتم قراءة الملف بشك خاطئ اذا تم استعمال التشفير التلقائي for line in f: if line[0] == y: continue line = line.strip() print(line) #string line = line.split(x) print(line) #list for element in line: print(element) print() parse_1('arabic.txt', '!') الناتج: ١!٢!٣ ['١', '٢', '٣'] ١ ٢ ٣ ٢!٣!٤ ['٢', '٣', '٤'] ٢ ٣ ٤ ٣!٤!٥ ['٣', '٤', '٥'] ٣ ٤ ٥
  3. أولا: عند كتابة هذا النوع من الأسئلة يجب كتابة الكود أو (الجزء ذو المشكلة من الكود)، أيضا يفضّل ارفاق ملف النص ذو المشكلة. السؤال ليس سؤال مرحلة ابتدائية أبدا. هذا بسبب اليونيكود و طريقة كتابة اللغة العربية. كما هو معروف اللغة العربية و بعض اللغات الأخرى تكتب من اليمين الى اليسار بعكس اللغة الإنجليزية. لكي يقوم الحاسب الآلي بكتابة الحروف العربية(مثلا) بطريقة صحيحة تم إستعمال حروف/رموز خاصة غير مرئية تخبر البرنامج بأنه يجب تغيير اتجاه الكتابة من هنا، ومنها: \xe2\x80\xaa (U+202A) -> LEFT-TO-RIGHT \xe2\x80\xab (U+202B) -> RIGHT-TO-LEFT \xe2\x80\xac (U+202C) -> POP DIRECTIONAL FORMATTING اعادة الوضع الإفتراضي **وغيرها. من أسباب ظهور هذه الرموز عند التشغيل الملف: 1-ملف النص باللغة العربية وهذا الجزئ باللغة الإنجليزية. 2-أن هذه الأرقام مسجلة كرموز عربية بسبب لوحة المفاتيح. (لهذا السبب يتم تجاهل رموز التحويل عند النسخ ). ---------------------------- اذا كانت المشكلة بسبب لوحة المفاتيح: تستطيع عمل فلتر داخل البرنامج اذا كان هذا لا يؤثر على إتجاه النص. إذا كنت تريدين معرفة المزيد بهذا الشأن تستطيعين البحث عن اليونيكود(Unicode) وكيفية عمله. روابط: Bi-directional_text Unicode
×
×
  • أضف...