如何在python中检查文件是否为目录或常规文件?

在python中如何检查路径是否为目录或文件?

462590 次浏览

许多Python目录函数都在os.path模块. conf文件中。

import os
os.path.isdir(d)
os.path.isfile("bob.txt") # Does bob.txt exist?  Is it a file, or a directory?
os.path.isdir("bob")

使用os.path.isdir(path)

更多信息在这里http://docs.python.org/library/os.path.html

一个来自统计文档的教育示例:

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)