|
|
الدرس الخامس عشر : الملفات (الجزء الأول) بايثون
السبت أبريل 11, 2020 10:51 pm
الدرس الخامس عشر : الملفات (الجزء الأول) بايثون
الدرس الخامس عشر : الملفات (الجزء الأول) بايثون
الدرس الخامس عشر : الملفات (الجزء الأول) يشرح هذا الدرس كيفية التعامل مع الكلفات في البايثون وتستطيع انشاء وقراءة جميع الملفات و الدرس الخامس عشر : الملفات (الجزء الأول) هو شرح للمبتدئين لكيفية التعامل مع الملفات مثل ملفات النصية وملفات الصوت والصور والتعامل مع الملفات المختلفة التي تعتمد علي ادخال الملفات الي البرنامج او المشروع الذي تعمل علية وبالتاكيد ستحتاج التركيز في الاوامر الموجودة في المشروع وعليك التطبيق يوميا بعد ان تشاهد لدس تقوم بتطبيقة في البايثون اول باول وذلك لكي تتقن اللغة وتستطيع العمل عليها بسهولة كما توفر لك البايثون التعديل علي الملفات مث الملفات النصية من قراءتها او تعديها او حفظها
الدرس الخامس عشر : الملفات (الجزء الأول) بايثون
الدالة open
تستخدم الدالة ()open لفتح الملفات في النظام.
open(filename, [mode='r'])
- filename هو إسم الملف المراد فتحه.
- mode يعبر عن حالة الوصول (فتح الملف للقراءة، للكتابة، للإظافة ... إلخ) الإفتراضي هو 'r' للقراءة.
Quote
- 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
إذا أدخل المستخدم العبارة '%' تتوقف الحلقة و يغلق الملف.
الإظافة إلى ملف نصي
لو أردنا التعديل على السكربت السابق ليعمل على إظافة البيانات الى الملف بدلا من إعادة كتابته، علينا فقط تغيير هذا السطر :
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
عندما نكتب في ملف نصي تحذف كل البيانات السابقة ويعاد كتابتها، فلو أردنا الإظافة الى الملف دون المساس بالمحتويات السابقة علينا فتح الملف بصيغة a- append-.
التعديل على السكربت السابق
F.close()
الدرس الخامس عشر : الملفات (الجزء الأول) بايثون
رابط المصدر
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى