• 0

كيف أحصل على أسماء جميع الملفات في مجلد معين في البايثون ؟

كيف أستطيع الحصول على قائمة كاملة من أسماء الملفات والمجلدات في مسار معين عن طريق لغة البايثون ؟ استخدم نظام لينكس اوبنتو.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

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

import os

for dirname, dirnames, filenames in os.walk('.'):
    # print path to all subdirectories first.
    for subdirname in dirnames:
        print(os.path.join(dirname, subdirname))

    # print path to all filenames.
    for filename in filenames:
        print(os.path.join(dirname, filename))

    # Advanced usage:
    # editing the 'dirnames' list will stop os.walk() from recursing into there.
    if '.git' in dirnames:
        # don't go into any .git directories.
        dirnames.remove('.git')

وإذا كنت تريد طريقة سهلة ومختصرة ففي هذه الحالة يمكنك استخدام دالة listdir من مكتبة os كما في المثال التالي:

os.listdir(path)

كما يمكنك إنشاء دالة صغيرة للحصول على أسماء الملفات والمجلدات على شكل قائمة منظمة كما في المثال التالي:

import os

def listdir_fullpath(d):
    return [os.path.join(d, f) for f in os.listdir(d)]

ويمكنك أيضا استخدام هذه الطريقة البسيطة على نظام ويندوز (وأيضا يمكنك تنفيذه على لينكس بعد تغيير المسار):

import os

for filename in os.listdir("C:\\temp"):
    print  filename

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن