1、首先,介绍一下os.listdir()方法,此方法返回一个列表,其中包含有指定路径下的目录和文件的名称。
import os
dirct = r'C:\Users\zqq\Desktop\ObjDete\leetcode'
for i in os.listdir(dirct):
print(i)
输出结果:
可以看到在C:\Users\zqq\Desktop\ObjDete\leetcode路径下,有2个py文件,1个名为ww的文件夹。
2、介绍os.path.isdir()和os.path.isfile()
os.path.isdir()和os.path.isfile()需要传入的参数是绝对路径,但是os.listdir()返回的只是一个某个路径下的文件和列表的名称。
常见错误:直接使用os.listdir()的返回值当做os.path.isdir()和os.path.isfile()的入参
正确用法:需要先使用python路径拼接os.path.join()函数,将os.listdir()返回的名称拼接成文件或目录的绝对路径再传入os.path.isdir()和os.path.isfile().
os.path.join()用法:
import os
dirct = r'C:\Users\zqq\Desktop\ObjDete\leetcode'
for i in os.listdir(dirct):
fulldirct = os.path.join(dirct,i)
print(fulldirct)
输出结果:
os.path.isdir()用于判断某一对象(需提供绝对路径)是否为目录
import os
dirct = r'C:\Users\zqq\Desktop\ObjDete\leetcode'
for i in os.listdir(dirct):
fulldirct = os.path.join(dirct, i)
if os.path.isdir(fulldirct): #入参需要是绝对路径
print(i)
os.path.isfile()用于判断某一对象(需提供绝对路径)是否为文件
import os
dirct = r'C:\Users\zqq\Desktop\ObjDete\leetcode'
for i in os.listdir(dirct):
fulldirct = os.path.join(dirct, i)
if os.path.isfile(fulldirct): #入参需要是绝对路径
print(i)
世人慌慌张张,不过图碎银几两
偏这碎银几两,能解万种惆怅
可就这碎银几两断了儿时梦想
让少年染上沧桑
参考:
https://www.jianshu.com/p/582910d13501