Python/stat/S ISDIR

من موسوعة حسوب
< Python‏ | stat
مراجعة 11:44، 19 أغسطس 2018 بواسطة مصطفى-عطا (نقاش | مساهمات) (أنشأ الصفحة ب'== أمثلة == يوضح المثال التالي الطريقة المُثلى للاستفادة من توابع الكشف في الصنف <code>stat</code>:<synta...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

أمثلة

يوضح المثال التالي الطريقة المُثلى للاستفادة من توابع الكشف في الصنف stat:

import os, sys
from stat import *

def walktree(top, callback):
    '''recursively descend the directory tree rooted at top,
       calling the callback function for each regular file'''

    for f in os.listdir(top):
        pathname = os.path.join(top, f)
        mode = os.stat(pathname).st_mode
        if S_ISDIR(mode):
            # It's a directory, recurse into it
            walktree(pathname, callback)
        elif S_ISREG(mode):
            # It's a file, call the callback function
            callback(pathname)
        else:
            # Unknown file type, print a message
            print('Skipping %s' % pathname)

def visitfile(file):
    print('visiting', file)

if __name__ == '__main__':
    walktree(sys.argv[1], visitfile)