在终端中打开的 iPython3 - os.path.dir 将字母“d”添加到路径并触发文件未找到错误

在终端中打开的 iPython3 - os.path.dir 将字母“d”添加到路径并触发文件未找到错误

尝试遍历文件夹。我正在使用 ipython3,在终端中打开。这是代码(在 python 3.6.4 中):

for filename in os.listdir('.'):
    for file in filename:
       with open(os.path.join('.',file), 'r') as f:
            print(len(f))

但是我收到了这个错误。

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-6-1702c8aca957> in <module>()
  1 for filename in os.listdir('.'):
  2     for file in filename:
----> 3         with open(os.path.join('.',file), 'r') as f:
  4             print(len(f))
  5 

FileNotFoundError: [Errno 2] No such file or directory: './d'

路径中添加了“d”,无法找到目录。Jupypter QtConsole 也出现同样的情况。

答案1

os.listdir返回文件名列表。使用

for file in filename

循环迭代此文件名中的字母,发现第一个文件名似乎以 开头'd'。删除此循环。

稍后在您的代码中

print(len(f)) 

会抛出异常,因为您无法使用len文件句柄。如果您想获取文件的大小,请使用os.path.getsize()

相关内容