اذهب إلى المحتوى
  • 0

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

ali_agha

السؤال

Recommended Posts

  • 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

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...