使用os.walk读取文件

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读取文件