الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مالفرق

بدأه fofo_last في 30 يونيو 2010 · 4 رد · 649 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد سؤالك عن تفسير لمادا

ادا عملت جملة طباعه لشي معين تطبع كما هي بدون مسافه بعدها

بينما لو كتبت الى ملف بيكون في سطر

بمعنى انظروا معي

a=['0','1','2','3','4']
for item in a:
 print('['+item+']'+'\n')

ناتج عادي

[0]

[1]

[2]

[3]

[4]

لاحظو الاقواس محيطة بالرقم

بينما لو لدي ملف وابي كل كلمة محاطة بالاقواس بلقى انو القوس التاني بينزل سطر؟؟؟؟؟ وماعرفت شو اسوي معاه؟؟؟

انظروا

def readfile(ifileName,ofileName):
     ifile =open(ifileName,"r")

     ofile = open(ofileName,"w");
     word = ifile.readlines()
     for index, item in enumerate(word):
         #finalstring = item +'['+item+']\n'
         #ofile.write(finalstring)
         ofile.write(item+'' + '['+item+']'+'\n')
         print index, item
     ifile.close()
     ofile.close()

ناتج بيطلع زي كدا

h*A
[h*A
]
AlbrnAmj
[AlbrnAmj
]

شو العمل؟

#2

upppppp

#3

لانك تاخذ "الكلمات" عن طريق readline()

في الحقيقة ما تقرأه ليس كلمات بل "اسطر"، و كل سطر يحتوي في النهاية على \n اي فاصلة السطر الجديد، و هذه ستصبح جزء من السطر عند قرائته و بالتالي كل متغير item يحتوي في نهايته على سطر جديد

انظر: http://docs.python.org/library/stdtypes.html#file.readline

Read one entire line from the file. A trailing newline character is kept in the string (but may be absent when a file ends with an incomplete line)

صحيح انك استخدمت readlines و لكنه:

Read until EOF using readline()

على كل حال،

يمكن التحايل عن طريق اضافة سطر تحت الفور:

item = item.strip()

و هذا الفنكشن يقوم باعادة نسخة من النص من دون حروف الـ whitespace (بما فيها رموز السطر الجديد)

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 30 يونيو 2010 في 18:15

#4

الله يجزيك كل خير انا خطرت ع بالي دي الداله وجربتها بس كنت باستخدمها بطريقة خطأأ

انحلت المشكلة ويارب يفتحها في وجهك ويساعدك متل ماساعدتني ويبلغك الجنة امين

#5

الملاحظة ان الـ string لا يمكن تغييره، يعني لو ساويت item.strip() فإن النص نفسه لن يتغير .. و لكن هذا الفنكشن يعطي نسخة اخرى من النص مع التغييرات المطلوبة

بعبارة اخرى، strings are immutable

مواضيع مشابهة