| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 孤独的美食家 于 2020-10-2 18:53 编辑  
 
代码来自第30讲第0题 
- import os
 
  
- all_files = os.listdir(os.curdir) # 使用os.curdir表示当前目录更标准
 
 - type_dict = dict()
 
  
- for each_file in all_files:
 
 -     if os.path.isdir(each_file):
 
 -         type_dict.setdefault('文件夹', 0)
 
 -         type_dict['文件夹'] += 1
 
 -     else:
 
 -         ext = os.path.splitext(each_file)[1]
 
 -         type_dict.setdefault(ext, 0)
 
 -         type_dict[ext] += 1
 
  
- for each_type in type_dict.keys():
 
 -     print('该文件夹下共有类型为【%s】的文件 %d 个' % (each_type, type_dict[each_type]))
 
 
  复制代码 
如果使用os.curdir 或者‘.’  当作path使用,if os.path.isdir(each_file):可以运行,如上图 
如果使用绝对路径 或者相对路径  当作path使用,if os.path.isdir(each_file):就不运行了,如下图 
这是怂麽原因呢,我头炸了
 本帖最后由 hrp 于 2020-10-2 19:03 编辑  
 
非当前目录下,判断isdir、isfile等的参数需为完整路径,如r'c:\python34xxx' + each_file而不是each_file。 
建议下次发代码,不要发图片,发代码我还能复制下来直接写注释,答的更详细。 
 
 
 |   
 
 
 
 |