def numOfFiles(path,num=1):
try:
if os.path.isdir(dir):
num=num-1
for x in os.listdir(path):
num+=1
except BaseException as e:
pass
finally:
return num
我想用这个方法统计目录文件个数,如果是目录就进去看有多好啊文件,如果是文件就返回1,但是调用的时候,是文件的话,应该没有进循环,文件数不是1,这是怎么回事?
å¦æä»ä½ çéæ±èèãä½ çç¨åºæå 个é®é¢ã
1ãtryå¯ä»¥åæ¶ï¼ä½ çæ¬æå¯è½æ¯å¤æç®å½æ¯å¦ææï¼ä½å¦æç®å½æ æos.path.isdir(dir)ä¼è¿åflase,æ以tryå¤ä½äºãï¼å½ç¶å¦ææ¯è¯¾ç¨è¦æ±å¦ä¹ å¼å¸¸å¤çtryçç¨æ³é¤å¤ï¼ã
2ãnumæ¯æ件ç个æ°ï¼å®ä¸éè¦è°ç¨å½æ°ä¼ å ¥çåæ°ãdef numOfFiles(path,num=1):ä¸num=1å¤ä½äºã
3ãdir没æ声æï¼è¦ä¹ä½ æ¢æpath,è¦ä¹ï¼å¨åé¢å ä¸ dir = pathã
4ãos.listdir(path)æ¯éåpathç®å½ä¸çæææ件åç®å½ï¼æ以å¦ææåç®å½ï¼ä½ çnumä¼ç´æ¥+1ï¼èä¸ä¼å次è¿å ¥åç®å½ç»è®¡ãè¿éå°±è¦ç¨å°éå½å½æ°ãå ·ä½çä¾åå§