كيفية قراءة الملفات بشكل صحيح في بايثون

هناك العديد من مبرمجي بايثون المبتدئين وحتى بعض المتقدمين يقومون بقراءة الملفات بالشكل التالي :


with open(“file.txt”) as f:
    contents = f.read()

وفي معظم الحالات فالكود مثل هذا سيعمل بشكل جيد ، فالتابع ()read سوف يقوم بقراءة كامل الملف في الذاكرة ويقوم بتخزينه في متغير contents .
وبالمقابل هناك التابع ()readlines يقوم بقراءة الملف كاملا في الذاكرة سطر بعد سطر في الوقت الواحد ويقوم بإضافة كل سطر في قائمة والكود التالي : أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

كيفية نسخ الملفات في بايثون

هل تريد نسخ ملف من مكان الى مكان باستخدام بايثون اذن انت في المكان المناسب،ويجب أن تعرف أنه عندما تريد برمجة برامج معقدة أكيد ستحتاج الى التعامل مع الملفات والنظام .

نسخ ملف في بايثون

بدون أي اطالة فلنبدأ عملية نسخ ملف (أقول ملف وليس دليل ) من مكان الى مكان اخر على القرص الصلب.
لدى بايثون وحدة خاصة عالية المستوي للعمل على الملفات تسمى shutil ونستعملها عند نسخ الملفات .
فلنأخذ مثال على هذه الوظيفة والتي ستقوم بنسخ ملف من مكان الى مكان اخر على القرص الصلب  مع اظهار الخطأ في حالة عدم وجود الدليل (المصدر والمستبقل) وفي حالة نسخ الملف الى نفس المكان .

import shutil
 
def copyFile(src, dest):
    try:
        shutil.copy(src, dest)
    # eg. المسار المستقبل أو المصدر متطابقان
    except shutil.Error as e:
        print('Error: %s' % e)
    # eg. المسار المستقبل أو المصدر غير موجود
    except IOError as e:
        print('Error: %s' % e.strerror)

وهذا كل شيء فقد قمنا باستدعاء وحدة shutil وتم نسخ الملف، وفي حالة وجود اي خطأ كعدم وجود دليل المصدر أو المستقبل سيقوم البرنامج بعرض رسالة  Error: No such file or directory .
قم بتجربة البرنامج على جهازك واي استفسار انا بالخدمة .

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

كيفية التحقق من وجود أي ملف على اي دليل مع بايثون

تحدثنا في السابق على طريقة عرض محتويات أي دليل باستخدام لغة بايثون أما اليوم سنتحدث عن كيفية التحقق من وجود ملف ما على أي دليل باستخدام نفس اللغة، في الحقيقة يوجد طرق عديدة للتحقق من وجود الملفات ولكني ساقوم بشرح فعل ذلك باستخدام os.path.isfile().

os.path.exists(path)

قبل التحدث عن معرفة وجود الملف اولا يجب ان نتأكد من وجوده اولا على الدليل باستخدام الدالة
os.path.exists()

import os
os.path.exists("/home/kader/text.txt")

اذا كان الملف موجود فعلا سيقوم بايثون بعرض صح واذا لم يكن موجود سيقوم بعرض خطأ
ولكن مع هذه الدالة لا يمكننا ان نعرف ما اذا كان ملف او عبارة عن دليل وهنا تاتي فائدة الدالة التالية .
os.path.isfile()
بعد تأكدنا من وجود الملف على الدليل علينا الان ان نعرف ما اذا كان عبارة عن ملف أو دليل
 

import os
os.path.isfile("/home/kader/text.txt")

اذا كان text.txt عبارة عن ملف سيقوم بايثون بعرض صح واما اذا كان عبارة عن دليل سيعرض خطا

ولتحقق أيضا من وجود دليل يمكن استخدام الدالة os.path.isdir()

ولمزيد من المعلومات يمكنكم زيارة موقع بايثون

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

استعراض قائمة الملفات في اي دليل باستخدام بايثون

أحب ادارة والعمل على ملفات النظام باستخدام لغة بايثون ولهذا ساقوم بمشاركة طريقة تمكنم من عرض محتويات اي دليل باستخدام  os.listdir.
واذا كانت لديكم اي طرية ارجوا ان تشاركونا اياها.
import os
dirlist=os.listdir('d:/')
from pprint import pprint
pprint(dirlist)>

النتيجة

['$Recycle.Bin',
 'Atlas2004.css',
 'autoexec.bat',
 'Config.Msi',
 'config.sys',
 'Documents and Settings',
 'files',
 'found.000',
 'hiberfil.sys',
 'history.js',
 'Intel',
 'IO.SYS',
 'MSDOS.SYS',
 'MSOCache',
 'pagefile.sys',
 'Partition Images',
 'PerfLogs',
 'Portable Python 3.2.1.1',
 'Program Files',
 'ProgramData',
 'Python34',
 'rb_config.js',
 'Recovery',
 'Restored Files',
 'System Volume Information',
 'Users',
 'Windows',
 'Windows.old',
 'xampp']

 

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع