os.path.isdir()返回的结果如何理解的?
第一段代码如下:import os
listdir = os.listdir(os.curdir)
dict1 = dict()
for each in listdir:
# subSplit = each.split(".")
# if len(subSplit) == 1 or subSplit == '':
if os.path.isdir(each):
dict1.setdefault("文件夹", 0)
dict1["文件夹"] += 1
print('%s 是个文件夹' % each)
else:
# type_num = str(subSplit)
type_num = os.path.splitext(each)
dict1.setdefault(type_num, 0)
dict1 += 1
for each in dict1:
print("该文件夹下共有【%s】类型文件%d个" % (each, dict1))
第2段代码如下:
import os
dire = 'C:/Users/hand/PycharmProjects'
all_files = os.listdir(dire)
for each in all_files:
if os.path.isdir(each):
print('%s 是个目录' % each)
else:
print('%s 不是个目录' % each)
情况说明:C:/Users/hand/PycharmProjects/ 下 有文件也有文件夹
我的问题:第1段代码第10行,这么写是可以打印文件夹的;但是第2段代码的if块不走,只走了else. 这个问题困扰1天了,我还是没想明白,求解答。 我知道了。要在用isdir()前切换工作目录 os.chdir(file_path)
页:
[1]