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

الدرس الخامس عشر : الملفات (الجزء الأول)

بدأه mohamedz في 6 سبتمبر 2012 · 1 رد · 2,817 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الدالة open

تستخدم الدالة ()open لفتح الملفات في النظام.

open(filename, [mode='r'])

- filename هو إسم الملف المراد فتحه.

- mode يعبر عن حالة الوصول (فتح الملف للقراءة، للكتابة، للإظافة ... إلخ) الإفتراضي هو 'r' للقراءة.

اقتباس
- r ==> قراءة فقط.

- w ==> كتابة فقط (يتم محو كل البيانات الموجودة في الملف و إعادة كتابتها أو ما يسمى ب rewriting، وإذا لم يوجد الملف سيتم إنشاءه أليا).

- a ==> إظافة محتويات عند نهاية الملف(وعدم محو البيانات السابقة للملف).

- +r ==> قراءة و كتابة.

- +w ==> كتابة و قراءة.

قراءه محتويات ملف نصي

السكربتات الصغيرة التالية تطبع محتويات ملف نصي.

السكربت الأول

#!/usr/bin/python
FileName = raw_input('Please input a text file name : ');
F = open(FileName, 'r')

for Line in F :
    print Line,

F.close()

شرح السكربت :

FileName = raw_input('Please input a text file name : ')

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

F = open(FileName, 'r')

فتح الملف للقراءة فقط.

ربط إسم الملف الفعلي FileName بالمتغير F، و الذي عن طريقه يمكننا التعامل مع الملف من داخل بايثون.

for Line in F :
    print Line,

إستعملنا الحلقة التسلسلية for لطباعة محتويات الملف سطرا سطرا.

F.close()

في النهاية نقوم بغلق الملف.

السكربت الثاني : إستخدام الوظيفة ()readline.

#!/usr/bin/python
FileName = raw_input('Please input a text file name : ');
F = open(FileName, 'r')

while True :
    Line = F.readline()
    if not Line :
        break
    else :
        print Line,

F.close()

شرح السكربت :

Line = F.readline()

قراءة سطر من الملف النصي المعبر عنه ب F، و تخزينه في المتغير Line.

if not Line :
    break

إذا لم يكن هناك سطر (هذا يعني أن الملف إنتهى)، تتوقف الحلقة لوجود العبارة break.

else :
    print Line,

أما إذا حدث العكس (يوجد سطر و لم ينتهي الملف)، يطبع هذا السطر على الشاشة.

تواصل الحلقة الدوران إلى أن تنتهي كل الأسطر فتتوقف، ويتم تنفيذ الأمر ()F.close لغلق الملف.

السكربت الثاني : إستخدام الوظيفة ()readlines.

#!/usr/bin/python
FileName = raw_input('Please input a text file name : ');
F = open(FileName, 'r')

contents = F.readlines()
for Line in contents :
    print Line,
F.close()

شرح السكربت :

contents = F.readlines()

إرجاع قائمة بكل أسطر الملف، وتخزينها في المتغير contents.

إنشاء و كتابة ملف نصي

سكربت لإنشاء و كتابة ملف نصي

#!/usr/bin/python
FileName = raw_input('Please input a text file name : ');
F = open(FileName, 'w')

print 'Please input file contents line by line,'
print 'when you finish write % then press enter'

while True :
    Line = raw_input('Enter a line : ')
    if Line != '%' :
        F.write('%s\n' % (Line))
    else :
        break

F.close()

شرح السكربت :

F = open(FileName, 'w')

فتح الملف للكتابة فقط.

if Line != '%' :
    F.write('%s\n' % (Line))

إذا كان السطر الذي أدخله المستخدم لا يساوي '%'، سيتم كتابته في الملف مع الإنتقال الى سطر جديد لأننا إستخدمنا العبارة 'n\'.

else :
    break

إذا أدخل المستخدم العبارة '%' تتوقف الحلقة و يغلق الملف.

الإظافة إلى ملف نصي

عندما نكتب في ملف نصي تحذف كل البيانات السابقة ويعاد كتابتها، فلو أردنا الإظافة الى الملف دون المساس بالمحتويات السابقة علينا فتح الملف بصيغة a- append-.

التعديل على السكربت السابق

لو أردنا التعديل على السكربت السابق ليعمل على إظافة البيانات الى الملف بدلا من إعادة كتابته، علينا فقط تغيير هذا السطر :

F = open(FileName, 'w')

بهذا السطر :

F = open(FileName, 'a')

ليصبح السكربت النهائي كالتالي :

#!/usr/bin/python
FileName = raw_input('Please input a text file name : ');
F = open(FileName, 'a')

print 'Please input file contents line by line,'
print 'when you finish write % then press enter'

while True :
    Line = raw_input('Enter a line : ')
    if Line != '%' :
        F.write('%s\n' % (Line))
    else :
        break

F.close()

فهرس الدورة

الفصل الاول : أساسيات بايثون

دورة بايثون من الصفر الى الاحتراف

الدرس الاول : أمر الطباعة print + التعليقات

الدرس الثاني : المتغيرات Variables

الدرس الثالث : الإدخال Input

الدرس الرابع : الجملة الشرطية if

الدرس الخامس : المقاطع string

الدرس السادس : الكائنات متعددة العناصر (الجزء الأول)

الدرس السابع : الكائنات متعددة العناصر (الجزء الثاني)

الدرس الثامن : الحلقات loops (الجزء الأول)

الدرس التاسع : الحلقات loops (الجزء الثاني)

إزالة الغموض من الفصل الأول

الفصل الثاني : Functions & Procedures

الدرس العاشر : الدوال Function

الدرس الحادي عشر : دوال بايثون الجاهزة

ملخص الفصل الثاني

الفصل الثالث : البرمجة الكائنية المنحى oop

الدرس الثاني عشر : رابط لتعلم البرمجة الكائنية المنحى

الفصل الرابع : الأخطاء و الإستثناءات Errors, Exceptions

الدرس الثالث عشر : التعامل مع الأخطاء (الجزء الأول)

الدرس الرابع عشر : التعامل مع الأخطاء (الجزء الثاني)

الفصل الخامس :

الدرس الخامس عشر : الملفات (الجزء الأول)

الدرس السادس عشر : الملفات (الجزء الثاني)

تم تعديل هذه المشاركة بواسطة mohamedz في 7 سبتمبر 2012 في 13:28

2
#2

يعطيك العافية اخي mohamedz

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

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

EIR8Q.jpg

 

بإذن الله سأتعلم python و php ولو نصف كل لغة

 

 

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