Python遍历文件夹生成列表时遇TypeError报错求助
问题解决:遍历指定文件夹获取子文件夹列表
错误原因拆解
- append方法调用错误:你使用
list.append(f)是直接调用列表类的方法,正确的操作应该是调用你创建的列表实例myFolder的append方法,即myFolder.append(f)。 - 多余的内层循环:
for item in f完全没必要,f是字符串格式的文件夹路径,遍历它会把路径拆成单个字符逐个处理,和你的需求完全不符。 - 列表初始化语法错误:
myFolder = list[]是错误写法,列表初始化要么用myFolder = list(),要么用更简洁的myFolder = []。
修正后的代码
import os path = input("Where you want to look?") myFolder = [] print("Here's your list of folders:") for dirname in os.listdir(path): f = os.path.join(path, dirname) if os.path.isdir(f): myFolder.append(f) # 给实例列表添加文件夹路径 print(myFolder)
可选优化写法
如果想让代码更简洁,可以用列表推导式一步完成:
import os path = input("Where you want to look?") myFolder = [os.path.join(path, d) for d in os.listdir(path) if os.path.isdir(os.path.join(path, d))] print("Here's your list of folders:") print(myFolder)
内容的提问来源于stack exchange,提问作者dotashope
相关产品推荐
相关产品推荐

