الدالة 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
الدرس الرابع : الجملة الشرطية if
الدرس السادس : الكائنات متعددة العناصر (الجزء الأول)
الدرس السابع : الكائنات متعددة العناصر (الجزء الثاني)
الدرس الثامن : الحلقات loops (الجزء الأول)
الدرس التاسع : الحلقات loops (الجزء الثاني)
الفصل الثاني : Functions & Procedures
الدرس العاشر : الدوال Function
الدرس الحادي عشر : دوال بايثون الجاهزة
الفصل الثالث : البرمجة الكائنية المنحى oop
الدرس الثاني عشر : رابط لتعلم البرمجة الكائنية المنحى
الفصل الرابع : الأخطاء و الإستثناءات Errors, Exceptions
الدرس الثالث عشر : التعامل مع الأخطاء (الجزء الأول)
الدرس الرابع عشر : التعامل مع الأخطاء (الجزء الثاني)
الفصل الخامس :
الدرس الخامس عشر : الملفات (الجزء الأول)
الدرس السادس عشر : الملفات (الجزء الثاني)

