python打开os.walk()返回文件出现找不到文件的问题

来源:互联网 发布:软件配置管理 培训 编辑:程序博客网 时间:2024/06/05 13:29

问题描述

运行下面代码时,会出现No such file or directory错误
import osos.chdir("E:/new/a")for root ,dirs,files in os.walk(".",topdown=False):        for f in files:           fo=open(f,encoding="gbk",errors="ignore")        l=fo.readlines()


原因剖析

因为f没有路径,只有文件名,例如只有个1.txt的话又与程序不在同一目录下open函数就找不到该文件了。


解决方法

在open前添加
f=os.path.join(root, f)
 os.path.join()作用连接一个或多个文件路径,例如:os.path.join('c:/',''foo'),输出:c:/foo
最终代码:
import osos.chdir("E:/new/a")a="42";for root ,dirs,files in os.walk(".",topdown=False):        for f in files:           f=os.path.join(root, f)        print(f)        fo=open(f,encoding="gbk",errors="ignore")        l=fo.readlines()




阅读全文
1 0
原创粉丝点击