Using os.walk to read files(使用os.walk读取文件)
本文介绍了使用os.walk读取文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试访问主目录下子目录中的根文件。为此,我使用os.walk()。我能够成功地找到文件名,并能够将其存储在列表中。但是,当我尝试使用open(filename, 'r')打开这些文件时,我收到一个错误,告诉我没有这样的文件或目录存在。
我认为这里的问题在于我只访问'names'而不是实际的文件本身。我的代码如下所示:
list_of_files = {}
for (dirpath, dirnames, filenames) in
os.walk("C:\Users\Akarshkb\Desktop\cs361hw\HMP_Dataset"):
for filename in filenames:
if filename.endswith('.txt'):
list_of_files[filename] = os.sep.join([dirpath, filename])
file = open(filename, 'r')
file.read()
file.close()
print (list_of_files)
我收到以下错误:
`FileNotFoundError Traceback (most recent call
last)
<ipython-input-40-10ae3e92446a> in <module>()
4 if filename.endswith('.txt'):
5 list_of_files[filename] = os.sep.join([dirpath,
filename])
----> 6 file = open(filename, 'r')
7 file.read()
8 file.close()
FileNotFoundError: [Errno 2] No such file or directory: 'Accelerometer-2011-
04-11-13-28-18-brush_teeth-f1.txt'`
如有任何帮助,将不胜感激。
推荐答案
您不应忽略dirpath值。
试试:
file = open(os.path.join(dirpath, filename), 'r')
这篇关于使用os.walk读取文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:使用os.walk读取文件
基础教程推荐
猜你喜欢
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
