📌  相关文章
📜  TypeError:“WindowsPath”类型的参数不可迭代 (1)

📅  最后修改于: 2023-12-03 15:20:42.656000             🧑  作者: Mango

TypeError: "'WindowsPath'类型的参数不可迭代"

这个错误通常出现在使用Python的路径操作库Pathlib时,试图直接将WindowsPath类型的对象作为可迭代对象使用时引发的。

错误原因

WindowsPath对象是Pathlib库中定义的一种特定类型的路径对象,WindowsPath对象在Pathlib库中常用于指代Windows操作系统下的路径。但是,当我们尝试使用WindowsPath对象作为可迭代对象时,由于WindowsPath对象并非一个可迭代对象,因此Python引擎无法解析该对象从而导致该TypeError错误的出现。

解决方法

如果我们需要使用WindowsPath类型的路径对象迭代遍历其中的文件和子目录,那么可以借助Pathlib提供的一些流程控制方法来实现:

from pathlib import Path

path = Path('E:/test_folder')

# 遍历文件夹下所有文件(不包含子目录)
for file in path.iterdir():
    if file.is_file():
        # do something

如果我们只是想将WindowsPath对象直接转换为字符串类型使用,那么只需使用str()将其转换为字符串类型即可,如下所示:

from pathlib import Path

path = Path('E:/test_folder')

# 将Path对象转换为字符串类型
str_path = str(path)
print(str_path)  # E:\test_folder