学习笔记:错误原因

该博客讲述了如何使用Python的os模块遍历指定目录下的所有文件和子目录,并将它们的路径写入CSV文件。在初次尝试中遇到了因os.walk返回的三元组导致的错误,通过将结果拆解并适当调整,最终成功将文件路径保存到CSV中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#coding=utf-8

import os
import csv

file_list = os.walk("e:\英语学习\词汇词根+联想记忆法29本汇总")

files = [a for a in file_list]

print(type(files))
print(files)

with open("d:/files.csv","w") as f:  
    f.writelines(files)
#上面报错原因:因为walk后产生了3个元组,这里的元组是不能被writelines的。要拆解元组

 ****************************************************************************************************************

import os

file_list = os.walk("e:\英语学习\词汇词根+联想记忆法29本汇总")

#files = [a for a in file_list]

#print(type(files))
#print(files)

#with open("d:/files.csv","w") as f:
   # f.writelines(files)
#上面报错原因:因为walk后产生了3个元组,这里的元组是不能被writelines的。要拆解元组

allfiles = []
for dirpath,dirnames,filenames in file_list:
    for dir in dirnames:
        allfiles.append(os.path.join(dirpath,dir))  #这里应该写join(dirpath,dir),但我不想要路径,可删除dirpath
    for file in filenames:
        allfiles.append(os.path.join(file)) #同理 join(dirpath,file)

with open("d:/files.csv","w") as f:
    file2 = [a+"\n" for a in allfiles]
    f.writelines(file2)
print(file2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值