"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تبسيط التعامل مع الملفات باستخدام عبارات `open()` المتعددة في بايثون؟

كيفية تبسيط التعامل مع الملفات باستخدام عبارات `open()` المتعددة في بايثون؟

تم النشر بتاريخ 2024-11-22
تصفح:217

How to Streamline File Handling with Multiple `open()` Statements in Python?

كيفية تحسين التعامل مع الملفات باستخدام عبارات مفتوحة متعددة في بايثون

في بايثون، الدالة open() هي أداة متعددة الاستخدامات لإدخال الملفات والإخراج. عند العمل مع ملفات متعددة، من المفيد استخدام العبارة with لضمان الإدارة المناسبة للموارد.

الموقف:

خذ بعين الاعتبار مقتطف التعليمات البرمجية الذي يقرأ الأسماء من ملف و يقوم بإلحاق نص إضافي بأسماء محددة. يفتح التطبيق الحالي الملفات بشكل تسلسلي، وهو ما قد لا يكون الأمثل.

الحل:

تسمح بايثون باستخدام عبارات مفتوحة () متعددة ضمن عبارة واحدة عن طريق الفصل بفواصل. هم. وهذا يتيح التعامل مع ملفات متعددة في وقت واحد ويعزز إدارة الموارد.

def filter(txt, oldfile, newfile):
    '''
    Read a list of names from a file line by line into an output file.
    If a line begins with a particular name, insert a string of text
    after the name before appending the line to the output file.
    '''

    with open(newfile, 'w') as outfile, open(oldfile, 'r', encoding='utf-8') as infile:
        for line in infile:
            if line.startswith(txt):
                line = line[0:len(txt)]   ' - Truly a great person!\n'
            outfile.write(line)

ملاحظات إضافية:

    العودة بشكل صريح من دالة بدون قيمة إرجاع غير ضرورية.
  • هذه الميزة تم تقديمه في Python 2.7 و3.1 أو الأحدث.
  • إذا كان التوافق مع إصدارات Python 2.5 أو 2.6 مطلوبًا، فسيتم التداخل مع يوصى باستخدام العبارات أو استخدام contextlib.nested.
من خلال تحسين معالجة الملفات بهذه الطريقة، يمكن للمطورين تحسين إمكانية قراءة التعليمات البرمجية وإدارة الموارد والكفاءة الإجمالية.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3